我正在尝试使用python中的OS从命令行中提取一个文件名。我正在搜索在特定时间创建的文件。虽然我可以得到我想要的结果,但我不能用我得到的东西做任何事情。下面是我的代码:
import os
file = str(os.system('ls -ltr | grep fileName | grep 09:29 | head -1'))结果是:
-rw-r--r-- l dir dir 126649 Jun 14 09:29 fileName.011但是,当我尝试只去掉文件名时,我只得到了整个行。
我尝试过使用file[-11:],但没有成功。
我已经确认结果的类型是一个字符串:<type 'str'>
我尝试将结果添加到列表中,然后对其进行拆分,但也不起作用。
谢谢你的帮助。
发布于 2021-06-15 07:43:36
os.system()不返回外壳程序的输出。
为此,请使用subprocess.check_output()
import subprocess
output = subprocess.check_output('ls -ltr | grep fileName | grep 09:29 | head -1', shell=True))然后你就可以把你的文件名从output切下来了。
https://stackoverflow.com/questions/67978208
复制相似问题