linux和python中的高级文件处理

2024-09-30 12:35:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一段代码可以在Python中的文件中进行一些更改。我希望对一个文件夹的多个文件执行该操作。为此,我编写了以下代码:

进口re 导入操作系统 文件=操作系统列表目录(“/home/intucell/tarfiles”) 对于文件中的文件: fp=打开(文件'r') 对于fp中的线路: 打印(线路。更换('4.0.0','5.0.0')) f、 关闭()

我希望代码运行在一个名为tarfiles的文件夹中的多个文件。必须从该文件夹的列表中读取这些文件的名称。但是,Linux不读取包含空格的文件名。我有大约100个文件,名字里有空格。我该怎么做?在


Tags: 文件代码re目录文件夹名称home列表
3条回答

你可以为这个循环使用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))

希望我能帮上忙

假设您有要处理的文件列表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))`

还是需要在文件夹中查找文件?在

你可以用操作系统列表目录,假设要更改的多个文件位于存储在path变量中的文件夹中,则:

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

相关问题 更多 >

    热门问题