返回介绍

Python 命令行选项

发布于 2024-01-29 22:24:14 字数 1947 浏览 0 评论 0 收藏 0

当我们从一个系统命令行启动Python的时候(即shell提示符),可以传入各种选项标志来控制Python如何运行。和系统范围的环境变量不同,每次运行脚本的时候,命令行选项可能不同。Python 3.0中的一个Python命令行调用的完整形式如下所示(Python 2.6中大致相同,只是一些选项不同):

大多数命令行只是使用这个形式的script和args部分,来运行程序的源文件,并带有供程序自身使用的参数。为了说明这点,考虑脚本文件main.py,它打印出作为sys.argv可供脚本使用的命令行参数列表:

在下面的命令行中,python和main.py都可以是完整的目录路径,并且3个参数(a b-c)用于出现在sys.argv列表中的脚本。sys.argv中的第一项总是脚本文件的名称:

其他代码格式化规范选项允许我们指定Python代码:在命令行自身上运行(-c),接受代码以从标准输入流运行(一个-意味着从一个管道或重定向输入文件读取),等等:

-m代码规范在Python的模块查找路径(sys.path)上定位一个模块,并且将其作为顶级脚本运行(作为模块__main__)。在这里省略了".py"后缀,因为文件名是一个模块:

-m选项还支持使用相对导入语法来运行包中的模块,以及位于.zip包中的模块。这个开关通常用来运行pdb调试器,并且针对一个脚本调用而不是交互来从一个命令行配置profiler模块,尽管这种用法在Python 3.0中有了一些变化(配置似乎受到了Python 3.0中移除execfile的影响,并且pdb在新的Python 3.0 io模块中划入了冗余输入/输出代码):

紧跟在"python"之后和计划要运行的代码之前,Python接受了控制器自身行为的额外参数。这些参数由Python自身使用,并且对于将要运行的脚本没有意义。例如,-O以优化模式运行Python,-u强制标准流为unbuffered,而-i在运行一段脚本后进入交互模式:

Python 2.6还支持额外的选项以提升对Python 3.0的兼容性(-3,-0),并且检测制表符缩进用法的不一致性,而这在Python 3.0中总是会检测并报告的(-t;参见第12章)。参见Python的手册或参考资料,以了解可用的命令行选项的具体细节。或者更好的做法是,问Python自己,即运行如下的命令行:

以请求Python的帮助显示,它给出了可用的命令行选项。如果要处理复杂的命令行,应确保还查看标准库模块getopt和optparse,它们支持更加复杂的命令行处理。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文