如何提供命令行参数以将文件保存到特定位置?

时间:2017-12-04 16:40:32

标签: python python-3.x sys

我一直在使用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为要保存的文件提供目的地。

请帮忙。感谢。

1 个答案:

答案 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.')