-5

如果我在目录 C 中有多个文件,并且我想编写一个代码读取(自动)所有文件并处理每个文件,然后为每个输入文件编写一个输出文件。

例如在目录 C 我有以下文件:

aba 
cbr
wos
grebedit
scor

提示:这些文件没有明显的扩展名

然后程序一一读取这些文件,进行处理,然后在目录中写入输出:

aba.out
cbr.out
wos.out
grebedit.out
scor.out
4

1 回答 1

2

请允许我将您引导至教程。一旦您对一般的文件 IO 感到满意,这里有一个基本的工作流程供您扩展。

def do_something(lines):
    output = []
    for line in lines:
        # Do whatever you need to do.
        newline = line.upper()
        output.append(newline)
    return '\n'.join(output) # 

listfiles = ['aba', 'cbr', 'wos', 'grebedit', 'scor']

for f in listfiles:
    try:
        infile = open(f, 'r')
        outfile = open(f+'.out', 'w')

        processed = do_something(infile.readlines())

        outfile.write(processed)

        infile.close()
        outfile.close()
    except:
        # Do some error handling here
        print 'Error!'

如果您需要从某个目录中的所有文件构建您的列表,请使用该os模块。

import os
listfiles = os.listdir(r'C:\test')
于 2013-03-12T19:30:45.733 回答