作者:xialaqimixyBo2_1940_321 | 来源:互联网 | 2023-09-14 20:38
如果您希望它像在Shell上一样运行,则需要通过shell=True
(您的里程可能会有所不同,具体取决于您的系统和Shell)。在您的情况下,问题是当您这样做时ls
-l *.csv
, _shell_正在评估*的含义,而不是ls
。(ls
仅格式化您的结果,但是shell做出了繁重的工作来确定要匹配的文件*.csv
)。子进程按字面意义进行ls
处理*.csv
,然后查找具有该特定名称的文件,该文件当然没有任何名称(因为要创建的文件名非常难)。
您真正应该做的是os.listdir
自己使用和过滤名称。