如何在Python中使用输入和输出文件

时间:2015-08-15 23:36:20

标签: python dictionary input output

我有一个Python脚本,它输入文件中的所有单词并按顺序对它们进行排序:

for

但是我不是每次都要求输入文件,而是选择带有" -i"的输入文件。并使用" -o"保存输出文件,这样:

with open(raw_input("Enter a file name: ")) as f :
     for t in sorted(i for line in f for i in line.split()):
           print t

和BTW,如何将输出保存在目标文件上?

2 个答案:

答案 0 :(得分:3)

这应该这样做:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-i', dest='infile',
                    help="input file", metavar='INPUT_FILE')
parser.add_argument('-o', dest='outfile',
                    help='output file', metavar='OUTPUT_FILE')
args = parser.parse_args()

with open(args.infile, 'r') as infile:
    indata = infile.read()

words = indata.split()
words.sort()

with open(args.outfile, 'w') as outfile:
    for word in words:
        outfile.write('{}\n'.format(word))

argparse是用于解析命令行选项的内置模块。它为您完成所有工作。

$ ./SO_32030424.py --help
usage: SO_32030424.py [-h] [-i INPUT_FILE] [-o OUTPUT_FILE]

optional arguments:
  -h, --help      show this help message and exit
  -i INPUT_FILE   input file
  -o OUTPUT_FILE  output file

答案 1 :(得分:0)

要开始使用参数,请查看sys.argv

要写入输出文件,请使用写入模式“w”和.write()

对于后者,肯定有很好的教程。