我一直在使用sys.argv在命令行中提供参数。
例如,我有一个方法:
def function(param1, param2):
# Stuff goes here.
def main():
... sys.argv[1] ...
... sys.argv[2] ...
if __name__ == '__main__':
main()
现在,当我运行此代码时,命令将是这样的:
python filename.py param1 param2
param可以是任何东西,从路径到文件名设置为必要时。
我的问题是如何设置一个参数,您可以在其中设置存储文件的目的地,例如pickle文件。我想知道如何做这样的事情:
python filename.py param1 param2 param3
其中param3基本上是要保存的文件的目标。如果有类似sys的东西,我们可以使用param1和param2为要保存的文件提供目的地。
请帮忙。感谢。
答案 0 :(得分:1)
除非您只是尝试设置一个快速而肮脏的脚本,否则很难直接使用sys.argv
来获取脚本参数。而是使用命令行参数解析器。 Python有很多功能强大且易于使用。
这是一个使用Python附带的默认参数解析器的简单示例; argparse
。该脚本需要一个参数 - 文件路径。
import argparse
def get_args():
parser = argparse.ArgumentParser()
parser.add_argument('file_path', help='A file path')
return parser.parse_args()
def main():
args = get_args()
if args.file_path:
with open(args.file_path) as file:
file.write('Lorem ipsum dolor sit.')