【问题标题】:How to provide command line arguments to save a file to a particular location?如何提供命令行参数以将文件保存到特定位置?
【发布时间】:2017-12-05 00:57:34
【问题描述】:

我一直在使用 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

参数可以是任何东西,从路径到根据需要设置的文件名。

我的问题是如何设置一个参数,您可以在其中设置存储文件的目标,例如泡菜文件。我想知道如何做这样的事情:

python filename.py param1 param2 param3

其中 param3 基本上是要保存的文件的目的地。如果有类似 sys 的东西,我们可以使用 param1 和 param2 为要保存的文件提供目的地。

请帮忙。谢谢。

【问题讨论】:

  • 你能举例说明一下吗?
  • 什么是 param1、param2 和 param3,它们的作用是什么?

标签: python python-3.x sys


【解决方案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.')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多