2015-09-11 5 views
0

У меня есть этот скрипт:Python-2,7 записи в файл

f = open("/ggg/darr/file/", "r+") 
a = 0 
for line in f: 
    if a ==58: 
     print (line) 
     line1 = "google.ca" 
     f.write(line1) 
     print line 
    a = a+1 
f.close() 

Я хочу, чтобы мой файл, но только, чтобы изменить то, что написано на линии 58 в «google.ca» затем сохранить его с помощью Linux : mint-17.2

ответ

1
# Read data from file 
with open('yourfile.txt', 'r') as file: 
    # read all line in the file to data array 
    data = file.readlines() 

# change data on line 58 (array start from 0) 
data[57] = 'Data you need to change' 

# Write data back 
with open('yourfile.txt', 'w') as file: 
    file.writelines(data) 
+0

я предоставил полный скрипт в разделе ответов –

0

Вам нужно решить, хотите ли вы написать новый файл (с печатью) или изменить старый файл (с r + mode и f.write). Вы, вероятно, будете счастливы, если напишете новый файл.

0
dataRead = [] 
f = open("/ggg/darr/file/", "r+") 
a = 0 
for line in f: 
    if a == 58: 
     line = "google.ca" 
    dataRead.append(line) 
    a = a+1 
f.close() 

f2 = open("/some/new/file","w") 
for line in dataRead: 
    f2.write(line) 
f2.close() 
0

С ответом Adisak Anusornsrirung я написал это так:

with open('sss.txt','r') as file: 
data = file.readlines() 

print (data[14]) 
file.close() 
data[14] = "some data here"+"\n" 
with open ("sss.txt", 'w') as file: 
    file.writelines(data) 
file.close() 
f = open("sss.txt", 'r') 
print (f.read()) 
f.close() 
Смежные вопросы