Python argv采取外卡路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python argv采取外卡路径相关的知识,希望对你有一定的参考价值。

我用doc1/*.png作为第一个参数运行我的脚本,但它被转换为doc1/image1.png

我怎样才能让Python看到确切的参数?

img_list = []
print sys.argv[1]
x = sys.argv[1]
img_list = [img for img in glob.glob(x)]
答案

在大多数Linux shell(bashshfish,...)上,星号由shell处理。将*转换为文件列表这一事实已在shell级别完成。

如果你写:

python file.py doc/*.png

shell本身会将doc/*.png转换为"doc/1.png" "doc/2.png"(所以它在.png目录中找到的doc文件列表。

您应该使用引号来传递星号,例如:

python file.py 'doc/*.png'

标准Windows shell不对文件名执行通配符。

以上是关于Python argv采取外卡路径的主要内容,如果未能解决你的问题,请参考以下文章

python sys.argv的用法

python sys.argv的用法

python调用文件路径

python sys.argv

[Python] sys.argv命令行参数传入

python sys.argv[]用法