如何根据文件号分隔不同的文本文件
How to separate different text files based on the file number
我在一个文件夹中有 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)
列表中的所有文件传递到一个文本文件
不在另一个文件的列表中
您当前的代码正在与 html
文件进行比较,但您的文件扩展名实际上是 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)
输出将是
['a 1.txt', 'a 6.txt', 'a 15.txt', 'a 16.txt']
['a 2.txt', 'a 3.txt', 'a 4.txt', ....]
我在一个文件夹中有 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)
列表中的所有文件传递到一个文本文件 不在另一个文件的列表中
您当前的代码正在与 html
文件进行比较,但您的文件扩展名实际上是 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)
输出将是
['a 1.txt', 'a 6.txt', 'a 15.txt', 'a 16.txt']
['a 2.txt', 'a 3.txt', 'a 4.txt', ....]