微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

命令行 – 如何传递带空格作为参数的文件名?

我有一个接受字符串参数的Python脚本.

$python script.py "one image.jpg" "another image.jpg"

这按预期工作.

Python argparse:[“one image.jpg”,“another image.jpg”]

如果我需要传递文件名,我会这样做,

$python script.py $(ls "/some/dir/*.jpg")

Python argparse:[“one”,“image.jpg”,“another”,“image.jpg”]

如果使用-s of ls命令,我可以在双引号之间包装结果.但是,引号在Python脚本中保持转义,即.

$python script.py $(ls -Q "/some/dir/*.jpg")

Python argparse:[‘“one image.jpg”’,’“another image.jpg”’]

我应该如何将ls文件名扩展为适当的字符串以用作参数? (如我的第一个例子)

解决方法:

不要解析ls.只需使用:

python script.py /path/to/*.jpg

这将执行shell globbing,用适当的列表替换/path/to/*.jpg.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐