我正在为我知道存在的特定文件运行查找命令。我想获取该文件的路径,因为我不想假设我知道该文件的位置。我的理解是我需要重定向标准输出,运行命令并捕获输出,重新连接标准输出,然后检索结果。当我检索结果时出现问题......我无法破译它们:
import os
from cStringIO import StringIO
stdout_backup = sys.stdout #Backup standard output
stdout_output = StringIO()
sys.stdout = stdout_output #Redirect standard output
os.system("find . -name 'foobar.ext' -print") #Find a known file
sys.stdout = stdout_backup #re-hook-up standard output as top priority
paths_to_file = stdout_ouput.get_value() #Retrieve results
我找到了所有我想要的路径,问题是 paths_to_file 产生了这个:
Out[9]: '\n\x01\x1b[0;32m\x02In [\x01\x1b[1;32m\x027\x01\x1b[0;32m\x02]: \x01\x1b[0m\x02\n\x01\x1b[0;32m\x02In [\x01\x1b[1;32m\x028\x01\x1b[0;32m\x02]: \x01\x1b[0m\x02'
我不知道该怎么办。我想要的是类似于 print 命令提供的东西:
./Work/Halpin Programs/Servers/selenium-server.jar
如何使该输出可用于打开文件?如果我能得到打印命令的结果,我就可以打开我想要的文件。
如果我被误导了,请重新定位问题。谢谢!