如何使用Python脚本修改文件夹中的所有文本文件

发布于 2021-01-29 15:01:12

Python的新手,第一次发布者,请对我方便!我想.mod在当前文件夹内的特定扩展名(在示例中为)的所有文件中插入一行文本。如果方便的话,它可以指向一个特定的文件夹。

下面是我复制和修改的内容,它确实可以满足我对一个特定文件的需要,完全不需要用SIT替换sit的部分,但是如果删除它,该程序将无法工作。我不知道为什么会这样,但是我可以接受。

import sys, fileinput

for i, line in enumerate(fileinput.input('filename.mod', inplace=1)):  
    sys.stdout.write(line.replace('sit', 'SIT'))    
    if i == 30: sys.stdout.write('TextToInsertIntoLine32' '\n') #adds new line and text to line 32

我的问题是,如何为目录中的所有文件运行此文件?我尝试用替换文件名sys.argv[1]并从命令行调用脚本,但该命令'*.mod'对我不起作用。任何帮助,将不胜感激。

关注者
0
被浏览
73
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以使用glob.glob列出当前工作目录中以文件名结尾的所有文件.mod

    import fileinput
    import glob
    import sys
    
    for line in fileinput.input(glob.glob('*.mod'), inplace=True):
        sys.stdout.write(line.replace('sit', 'SIT'))
        if fileinput.filelineno() == 32:
            #adds new line and text to line 32      
            sys.stdout.write('TextToInsertIntoLine32' '\n')
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看