如何根据文件号分隔不同的文本文件

时间:2019-05-07 07:29:56

标签: python python-3.x text-processing python-textprocessing

我的文件夹中有20个文本文件。文件名表示为

a 1.txt,a 2.txt,a 3.txt...

某些文件具有不同的操作,而其他文件则不同

我已经将文件编号传递到list lst_num=[1,6,15,16]中,因为所有这些都需要写入一个文件,而不在列表中的文件应该写入另一个文件

for file in fnames:
    nume=os.path.splitext(file)[0].split()[1]
    lst_num=[1,6,15,16]
    fp = open(file, 'r').read()
    for i in lst_num:
        if file=="a "+str(i)+".html":
            print(file)
        else: 
            print('--'+file)

列表中的所有文件都传递到一个文本文件 不在另一个文件的列表中

1 个答案:

答案 0 :(得分:0)

您当前的代码正在与model.TaskId文件进行比较,但您的文件扩展名实际上是html
而且您的double for循环最终将多次打印相同的文件名

您实际上不需要遍历文件和txt
只需使用lst_num创建文件名来写入一个文件,然后通过考虑所有文件和lst_num文件之间的差异来获取要写入另一文件的文件名

lst_num

输出将为

fnames = ['a 1.txt', 'a 2.txt'....]
lst_num=[1,6,15,16]

#All files in lst_num
in_list_files = ['a {}.txt'.format(item) for item in lst_num]

#All files outside lst_num
not_in_list_files = list(set(fnames) - set(in_list_files))

print(in_list_files)
print(not_in_list_files)