cwd 的字符串变量

string variable of cwd

输入

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

输出

C:\ProgramData\Anaconda2

输入

my_cwd

输出

'0'

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

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

要获得输出,您可以将 subprocess.check_output(python 3.5+ 中的 subprocess.run)与 shell=True 一起使用,因为 cd 是内置的:

import subprocess
value = subprocess.check_output(["cd"],shell=True)

(如果命令失败,check_output 会引发异常)

您还必须使用 value.rstrip() "cleanup" 输出并将结果解码为字符串,因为 subprocess.check_output return 是一个 bytes 对象。 .. 此外,您的代码在 Linux 上不可移植,因为所需的命令是 pwd.

好吧,获取当前目录非常复杂(为 clsclear 命令保留此类内容)。获得它的最 pythonic 方法是使用:

os.getcwd()