如何创建多个文件,以便使用Python动态编写多个列表?

如何创建多个文件,以便使用Python动态编写多个列表?,python,algorithm,for-loop,Python,Algorithm,For Loop,我将尝试为这个问题提供一个例子 假设我们有3个列表。e、 g:- list1 =['one','two','three'] list2=['a','b','c'] list3=['mike','jack','ram'] 或者,假设文件中的每一行都有列表值 ['one','two','three'] ['a','b','c'] ['mike','jack','ram'] 现在我想通过创建三个列表,将它们写入三个不同的文件。文件名应自动生成,例如:- file001.txt file002.tx

我将尝试为这个问题提供一个例子

假设我们有3个列表。e、 g:-

list1 =['one','two','three']
list2=['a','b','c']
list3=['mike','jack','ram']
或者,假设文件中的每一行都有列表值

['one','two','three']
['a','b','c']
['mike','jack','ram']
现在我想通过创建三个列表,将它们写入三个不同的文件。文件名应自动生成,例如:-

file001.txt
file002.txt
file003.txt

你可以看到详细的解释。但总而言之,您可以通过打开一个文件(或者创建一个文件,如果它不存在),然后写入/读取/等等来定义文件类型的对象。

我假设您的数据在控制台中,每个列表都是一行

类似这样的内容:

line1 =['one','two','three']
line2=['a','b','c']
line3=['mike','jack','ram']
count = 1

for data in all_data:
    output = open('file' + str(count) + '.txt', 'w')
    output.write(','.join(data))
    count += 1
    output.close()
我将所有数据合并到一个列表中

all_data = [line1] + [line2] + [line3]
如果所有列表值在一个变量中逐行显示,则不需要上述部分。如果没有,您可以使用某种方法合并它们

现在,将每一行(列表值)写入不同的文件:

line1 =['one','two','three']
line2=['a','b','c']
line3=['mike','jack','ram']
count = 1

for data in all_data:
    output = open('file' + str(count) + '.txt', 'w')
    output.write(','.join(data))
    count += 1
    output.close()
这将一直持续到列表的最后一个值。所以,根据有多少个列表。如果您想加入列表中的值,可以更改
''。在单引号(
''
)中加入所需的内容

希望我能帮忙。

使用和构造文件名

s = 'file{:03}.txt'
for n, lyst in enumerate((list1, list2, list3), 1):
    fname = s.format(n)
    with open(fname, 'w') as f:
        #f.write(','.join(lyst))
        f.write('\n'.join(lyst))

如果任何项不是字符串,则将写入更改为


如果列表太长,无法创建单个字符串写入文件,请将写入更改为


为什么两者同时重要;只需为每个列表打开并写入一个文件。您的真实数据流是否以某种方式存在(不会是列表)?它很大吗?我猜你的列表值在一个文件中??类似于['1'、'2'、'3']和下一行['a'、'b'、'c']?@NickT是的。我有50多个文档,我已经将它们解析为50个列表。现在我必须自动将它们写入50个文件。@everestial007每个列表写入不同的文件。比如list1到file001.txt,list2到file002.txt等等。所以,你想以自动方式读取50个不同的文件,每个文件都有一行数据。这与同时性有什么关系?这个答案接近我的解决方案。我想OP想要生成尽可能多的文件,只要有行就行。我认为更好的方法是动态地读写每一行。@everestial007-当你认为某个方法更好时,你应该说为什么它更好。我只是想指出,如果数据是通过每一行(动态地)读写的,那么不管有多少行(50行或数百万行)都会起作用。@everestial007-thnx