读取多个文件并写入多个输出文件

时间:2013-03-12 19:23:02

标签: python

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

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

aba 
cbr
wos
grebedit
scor

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

然后程序逐个读取这些文件,进程,然后将输出写入目录:

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

1 个答案:

答案 0 :(得分:2)

请允许我指导您tutorial。一旦您对文件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')