【问题标题】:Why printing arguments in python doesn't work?为什么在 python 中打印参数不起作用?
【发布时间】:2015-10-30 05:09:24
【问题描述】:

我正试图向我的朋友解释 sys.argv 的工作原理。我从命令行运行了这个 sn-p(在 cmd 和 bash 上测试过)。

python -c "import sys; print(sys.argv)" bla stas

但令我惊讶的是,这是输出:

['-c', 'bla', 'stas']

我很困惑 - 为什么引号中的表达式 "import sys; print(sys.argv)" 不是参数列表的一部分?不应该是这样排在第二位吗:

['-c', '"import sys; print(sys.argv)"', 'bla', 'stas']

?

【问题讨论】:

    标签: python command-line-arguments


    【解决方案1】:

    来自documentation

    argv[0] 是脚本名称(它是否为完整路径名取决于操作系统)。如果该命令是使用解释器的-c 命令行选项执行的,则argv[0] 将设置为字符串'-c'

    将命令本身放入argv[] 也是错误的,因为它不是脚本的参数。参数只是blastas

    【讨论】:

      【解决方案2】:

      Python 将-c 参数视为特殊情况,不会将代码字符串放入sys.argv

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-04
        • 1970-01-01
        • 2018-02-10
        • 2015-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多