将变量传递给os.chdir时出现python3错误

时间:2017-04-01 09:28:14

标签: python python-3.x python-3.5

我正在尝试查找特定的路径名​​并将其传递给os.chdir,以便我可以在该目录中运行命令。我不知道确切的路径名,因此我必须运行find命令。我已经尝试了几种方法来执行此操作,每个方法都会出现一个新错误。下面的代码是我尝试过的方法之一,任何人都可以建议最好的方法吗?或者如何解决此错误?

源代码:

import os
import subprocess

os.system('find ~ -path "*MyDir" > MyDir.txt')

output = subprocess.check_output("cat MyDir.txt", shell=True)

os.chdir(output)

os.system("file * > MyDir/File.txt")

错误:

Traceback (most recent call last):
File "sub1.py", line 8, in <module>
os.chdir(output)
FileNotFoundError: [Errno 2] No such file or directory: b'/Users/MyhomeDir/Desktop/MyDir\n'

我知道该目录存在,并假设它与b&#39;并且\ n&#39;。我只是不知道问题所在。

1 个答案:

答案 0 :(得分:2)

使用strip摆脱\n

output = subprocess.check_output("cat MyDir.txt", shell=True).strip()
os.chdir(output)