【发布时间】:2019-08-05 15:46:30
【问题描述】:
我在我的 python 程序中使用 glob.glob 命令,当我在 python 脚本中给出整个路径时它工作正常。如果我将路径作为命令行参数给出,glob 不起作用。
path=r'/home/*/sale'
all = glob.glob(path + "/x.txt")
print all
Output:
['/home/x1/sale/x.txt', '/home/x2/sale/x.txt']
但是当我从下面的参数中执行路径时,它不起作用。
path = sys.argv[1]
all = glob.glob(path + "/x.txt")
print all
Output:
['/home/x1/sale/x.txt']
它只拾取第一个文件。
有人可以帮助我了解我在这里缺少什么。谢谢!
【问题讨论】:
-
请编辑您的帖子以包含您在调用代码时使用的命令行参数
-
当您在命令行中使用
*时,系统可能会将其替换为值。您可能必须在命令行中将文本放在单个配额标记''中。检查您在sys.arg[1]中拥有的内容 - 您可能拥有/home/x1/sale。还要检查您是否没有sys.arg[2]和'/home/x2/sale'