Python的新手,第一次发布者,请对我方便!我想.mod在当前文件夹内的特定扩展名(在示例中为)的所有文件中插入一行文本。如果方便的话,它可以指向一个特定的文件夹。
.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'对我不起作用。任何帮助,将不胜感激。
sys.argv[1]
'*.mod'
您可以使用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')