Python argv采取外卡路径

问题描述 投票:1回答:1

我用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)]
python python-2.7 glob
1个回答
2
投票

在大多数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不对文件名执行通配符。

© www.soinside.com 2019 - 2024. All rights reserved.