困惑如何使用 argparse
Confused how to use argparse
我正在尝试编写一个 python 脚本,可以从命令行 运行 使用
python script.py --input file.txt
或
python script.py -i file.txt
script.py 将接收文件 file.txt 和 open/read.
这是我目前拥有的:
#!/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?我不明白如何与写入文件进行交互。对不起,如果这太简单了。
您可以访问用户在 -i
之后输入的字符串:
args.input
例如:
argp_test.py -i my_file_name.txt
现在:
print(args.input)
打印:
my_file_name.txt
下一步是读取文件内容:
with open(args.input) as fobj:
for line in fobj:
# do something with this line
顺便说一句,您在这一行中遇到语法错误:
parser = argparse.ArgumentParser(description='I'm not sure what I should write here.')
它应该是这样的:
parser = argparse.ArgumentParser(description="I'm not sure what I should write here.")
当您在字符串中使用 '
时,您需要在字符串的开头和结尾使用 "
。所以使用:
"I'm not"
而不是:
'I'm not'
非常简单!
#!/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!")
我正在尝试编写一个 python 脚本,可以从命令行 运行 使用
python script.py --input file.txt
或
python script.py -i file.txt
script.py 将接收文件 file.txt 和 open/read.
这是我目前拥有的:
#!/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?我不明白如何与写入文件进行交互。对不起,如果这太简单了。
您可以访问用户在 -i
之后输入的字符串:
args.input
例如:
argp_test.py -i my_file_name.txt
现在:
print(args.input)
打印:
my_file_name.txt
下一步是读取文件内容:
with open(args.input) as fobj:
for line in fobj:
# do something with this line
顺便说一句,您在这一行中遇到语法错误:
parser = argparse.ArgumentParser(description='I'm not sure what I should write here.')
它应该是这样的:
parser = argparse.ArgumentParser(description="I'm not sure what I should write here.")
当您在字符串中使用 '
时,您需要在字符串的开头和结尾使用 "
。所以使用:
"I'm not"
而不是:
'I'm not'
非常简单!
#!/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!")