Skip to main content
 首页 » 编程设计

python之困惑如何使用 argparse

2025年05月04日30sky-heaven

我正在尝试编写一个可以从命令行运行的 python 脚本

python script.py --input file.txt 

或

python script.py -i file.txt 

script.py 将接收文件 file.txt 并打开/读取。

这是我目前所拥有的:

#!/usr/bin/python 
import argparse 
 
parser = argparse.ArgumentParser(description="I'm not sure what I should write here.") 
parser.add_argument('-i','--input', help='Input file name',required=True) 
args = parser.parse_args() 

现在...我如何实际访问输入文件?

我想要的是写入输出文件,例如python script.py --outputfile file.csv?我不明白如何与写入文件进行交互。对不起,如果这太简单了。

请您参考如下方法:

非常简单!

#!/usr/bin/python 
import argparse 
 
parser = argparse.ArgumentParser(description="Something like -- File reader: reads file line by line.") 
parser.add_argument('-i','--input', help='Input file name',required=True) 
args = parser.parse_args() 
 
with open(args.input) as fp: 
    for line in fp: 
       print line 

如果要向输入文件写入一些内容。以写入模式打开文件并写入任何你想要的内容。

with open(args.input, 'w') as fp: 
    fp.write("Hello World!") 

如果您想要写入一个单独的文件,请在写入模式下向您的 argparser 添加一个参数,然后写入它。

parser = argparse.ArgumentParser(description="Something like -- File reader/writer: reads/writes files line by line.") 
parser.add_argument('-i','--input', help='Input file name',required=True) 
parser.add_argument('-o','--output', help='Output file name',type=argparse.FileType('w'),required=True) 
args = parser.parse_args() 
 
with open(args.input) as fp: 
    for line in fp: 
        print line 
 
with open(args.output) as fp: 
    fp.write("Hello World!")