输入
import os
my_cwd = str(os.system("cd"))
输出
C:\ ProgramData \ Anaconda2
输入
my_cwd
输出
' 0'
我希望调用my_cwd会返回'C:\ProgramData\Anaconda2'
我错过了什么?
答案 0 :(得分:2)
os.system
将命令的返回代码作为整数返回(这就是您尝试转换为str
的原因) ,而不是作为字符串的命令输出。
要获得输出,您可以使用subprocess.check_output
(subprocess.run
在python 3.5+中)shell=True
,因为cd
是内置的:
import subprocess
value = subprocess.check_output(["cd"],shell=True)
(如果命令失败,check_output
会引发异常)
你还需要清理"输出使用value.rstrip()
并将结果解码为字符串,因为subprocess.check_output
返回bytes
对象...此外,您的代码在Linux上不可移植,因为所需的命令将是pwd
。
那么,获取当前目录非常复杂(为cls
或clear
命令留下那种东西)。得到它的最pythonic方法是使用:
os.getcwd()