我有一段代码可以在Python中对文件进行一些更改。我希望对文件夹的多个文件执行该操作。我写了以下代码来做到这一点:
导入重新 进口口 files = os.listdir(“/ home / intucell / tarfiles”) 对于文件中的文件: fp = open(文件,'r') 对于fp中的行: print(line.replace('4.0.0','5.0.0')) f.close()
我希望代码在名为tarfiles的文件夹中运行多个文件。必须从该文件夹的列表中读取这些文件的名称。但是,Linux不会读取包含空格的文件名。我有大约100个文件,其名称中包含空格。我该怎么办呢?
答案 0 :(得分:0)
假设您有想要处理的文件列表filelist
,您只需使用:
import re
for filename in filelist:
fp = open (filename, 'r')
for line in fp: print(line.replace (' 4.0.0 ', ' 5.0.0 '))
print(re.sub(r'\b4.0.0[^.]', '5.0.0 ', line))`
或者您是否需要查找文件夹中的文件?
答案 1 :(得分:0)
你可以使用for循环。 E.g
import os
item_list = next(os.walk(your_directory_path))[1]
for i in item_list:
fp = open (str(i), 'r')
for line in fp: print(line.replace (' 4.0.0 ', ' 5.0.0 '))
print(re.sub(r'\b4.0.0[^.]', '5.0.0 ', line))
我希望这会有所帮助
答案 2 :(得分:0)
你可以使用os.listdir,假设你要更改的多个文件位于路径变量中的文件夹中,那么:
files = os.listdir(path)
for _file in files:
fp = open (_file, 'r')
for line in fp:
print(line.replace (' 4.0.0 ', ' 5.0.0 '))
print(re.sub(r'\b4.0.0[^.]', '5.0.0 ', line))
编辑:
也不要忘记import os