Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python将列表中的元素打印到单独的文本文件中_Python_File Io - Fatal编程技术网

用python将列表中的元素打印到单独的文本文件中

用python将列表中的元素打印到单独的文本文件中,python,file-io,Python,File Io,我是python编程新手,需要一些关于基本文件I/O和列表操作的帮助 目前,我有一个列表,其中包含以下元素: ['taylor343', 'steven435', 'roger101\n'] 我需要做的是将每一行打印到新的文本文件中,文本文件中只有1个元素,如下所示: file1.txt taylor343 file2.txt steven435 file3.txt roger101 如何将列表中的每一行写入新的文本文件(而不仅仅是一行) 谢谢您需要打开每个要写入的新文件。举个简单的例子:

我是python编程新手,需要一些关于基本文件I/O和列表操作的帮助

目前,我有一个列表,其中包含以下元素:

['taylor343', 'steven435', 'roger101\n']
我需要做的是将每一行打印到新的文本文件中,文本文件中只有1个元素,如下所示:

file1.txt taylor343 file2.txt steven435 file3.txt roger101 如何将列表中的每一行写入新的文本文件(而不仅仅是一行)


谢谢

您需要打开每个要写入的新文件。举个简单的例子:

items = ['taylor', 'steven', 'roger']
filenames = ['file1', 'file2', 'file3']

for item, filename in zip(items, filenames):
    with open(filename, 'w') as output:
        output.write(item + '\n')

@乔·金顿(Joe Kington)写了一个非常棒的答案,非常像蟒蛇。一个更详细的答案可能会让理解正在发生的事情变得更容易,比如:

s = ['taylor343', 'steven435', 'roger101\n']

f = open("file1.txt","w")
f.write(s[0]+"\n")
f.close()

f = open("file2.txt","w")
f.write(s[1]+"\n")
f.close()

f = open("file3.txt","w")
f.write(s[2]) # s[2] already has the newline, for some reason
f.close()
如果我想让它更一般一点,我会这样做:

s = ['taylor343', 'steven435', 'roger101'] # no need for that last newline
for i,name in enumerate(s):
    f = open("file"+str(i+1)+".txt","w")
    f.write(name+"\n")
    f.close()

非常感谢大家!!乔:现在这很有意义,我不知道你们可以用一个for循环遍历2个元素。克里斯,这确实有助于澄清这一点!再次感谢heaps@Rk_23--欢迎来到Stack Overflow!如果你对它的答案满意,你应该考虑点击乔的答案旁边的复选框。
s = ['taylor343', 'steven435', 'roger101'] # no need for that last newline
for i,name in enumerate(s):
    f = open("file"+str(i+1)+".txt","w")
    f.write(name+"\n")
    f.close()