Python的子流程模块从Unix Shell返回不同的结果

Python的子流程模块从Unix Shell返回不同的结果,第1张

Python的子流程模块从Unix Shell返回不同的结果

如果您希望它像在Shell上一样运行,则需要通过

shell=True
(您的里程可能会有所不同,具体取决于您的系统和Shell)。在您的情况下,问题是当您这样做时
ls-l *.csv
shell
正在评估*的含义,而不是
ls
。(
ls
仅格式化您的结果,但是shell做出了繁重的工作来确定要匹配的文件
*.csv
)。子进程按字面意义进行
ls
处理
*.csv
,然后查找具有该特定名称的文件,该文件当然没有任何名称(因为要创建的文件名非常难)。

您真正应该做的是

os.listdir
自己使用和过滤名称。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5667855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存