我想为此编写一个程序:在一个文件夹中我有n个文件; 首先读取一个文件并执行一些操作,然后将结果存储在单独的文件中.然后读取第二个文件,再次执行操作并将结果保存到新的第二个文件中.对n个文件执行相同的过程.程序逐个读取所有文件,并分别存储每个文件的结果.请举例说明我是如何做到的.
import sys # argv is your commandline arguments, argv[0] is your program name, so skip it for n in sys.argv[1:]: print(n) #print out the filename we are currently processing input = open(n, "r") output = open(n + ".out", "w") # do some processing input.close() output.close()
然后称之为:
./foo.py bar.txt baz.txt
我想你错过的是如何检索该目录中的所有文件.为此,请使用glob模块.下面是一个示例,它将扩展名为*.txt的所有文件复制到扩展名为*.out的文件中
import glob list_of_files = glob.glob('./*.txt') # create the list of file for file_name in list_of_files: FI = open(file_name, 'r') FO = open(file_name.replace('txt', 'out'), 'w') for line in FI: FO.write(line) FI.close() FO.close()
您可能会发现该fileinput
模块很有用.它专为这个问题而设计.