cwd的字符串变量

时间:2017-08-01 20:38:40

标签: python python-2.7 windows-7 python-os

输入

import os
my_cwd = str(os.system("cd"))

输出

  
    

C:\ ProgramData \ Anaconda2

  

输入

my_cwd

输出

  
    

' 0'

  

我希望调用my_cwd会返回'C:\ProgramData\Anaconda2'我错过了什么?

1 个答案:

答案 0 :(得分:2)

os.system命令的返回代码作为整数返回(这就是您尝试转换为str的原因) ,而不是作为字符串的命令输出。

要获得输出,您可以使用subprocess.check_outputsubprocess.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

那么,获取当前目录非常复杂(为clsclear命令留下那种东西)。得到它的最pythonic方法是使用:

os.getcwd()