linux 和 python 中的高级文件处理
Advanced File handling in linux and python
我有一段代码可以对 Python 中的文件进行一些更改。我希望对一个文件夹的多个文件执行该操作。我写了下面的代码来做到这一点:
进口重新
导入 os
文件 = os.listdir("/home/intucell/tarfiles")
对于文件中的文件:
fp = 打开(文件,'r')
对于 fp 中的行:
print(line.replace ('4.0.0', '5.0.0'))
f.close()
我希望代码 运行 用于名为 tarfiles 的文件夹中的多个文件。这些文件的名称必须从该文件夹的列表中读取。但是,Linux 不读取包含空格的文件名。我有大约 100 个文件名中包含空格。我该怎么做?
假设您有要处理的文件列表 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))`
或者您需要查找文件夹中的文件吗?
您可以为此使用 for 循环。例如
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))
希望对你有所帮助
您可以使用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
我有一段代码可以对 Python 中的文件进行一些更改。我希望对一个文件夹的多个文件执行该操作。我写了下面的代码来做到这一点:
进口重新 导入 os 文件 = os.listdir("/home/intucell/tarfiles") 对于文件中的文件: fp = 打开(文件,'r') 对于 fp 中的行: print(line.replace ('4.0.0', '5.0.0')) f.close()
我希望代码 运行 用于名为 tarfiles 的文件夹中的多个文件。这些文件的名称必须从该文件夹的列表中读取。但是,Linux 不读取包含空格的文件名。我有大约 100 个文件名中包含空格。我该怎么做?
假设您有要处理的文件列表 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))`
或者您需要查找文件夹中的文件吗?
您可以为此使用 for 循环。例如
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))
希望对你有所帮助
您可以使用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