2016-12-16 53 views
0

可以说我有一个名为的text.txt与数据将数据添加到特定行到一个文件

Name 
    Age 
    City 

文件,我有一个Python列表,可以称之为MYLIST

myList = ['Carl','25','Washingtn'] 

如何除了txt中的Name之外,我还要追加列表中的第一项吗? 我试着做

try = open('text.txt', 'a') 
for i in myList: 
myList.write(i) 

但是通过这样做,我的每个值获得在txt文件的最后一行,我不知道怎么做,所以只指数[0]首先得到和等等。 希望在这里得到一些帮助!

+0

你想要什么输出?请在问题上发帖 –

回答

2

你可以做到这一点,如果你得到每一行,你可以追加任何你喜欢的东西,并重写它到一个文件。

# We could keep a counter in mind for getting new elem each time. 
count = 0 
myList = ['Carl', '25', 'Washington'] 
with open('text.txt', 'r') as src: 
    with open('dest.txt', 'w') as dest: 
     for line in src: 
      dest.write('%s%s\n' % (myList[count], line.rstrip('\n'))) 
      count+=1 

此外,您应该检查行数是否与您的列表中的元素数相匹配等,以使其更安全。

0

此代码不正确。

try = open('text.txt', 'a') 
for i in myList: 
myList.write(i) 

从MyList获取项目并再次写入MyList? MyList是list()没有文件。

所以试试这个代码

myList = ['Carl','25','Washingtn'] 
result = list() 

with open(filepath, "r") as f: # read file 
    for line, item in zip(f, myList): 
     result.append(line.strip() + " " + str(item) + "\n") 

with open(filepath, "w") as f: # write 
    f.writelines(''.join(result)) 

'A'模式永远是在文件的结尾。

更多的信息发现https://docs.python.org/3/library/functions.html#open