输入
import os
my_cwd = str(os.system("cd"))
输出
C:\ProgramData\Anaconda2
输入
my_cwd
输出
'0'
我希望调用 my_cwd 会返回'C:\ProgramData\Anaconda2'
我缺少的东西?
输入
import os
my_cwd = str(os.system("cd"))
输出
C:\ProgramData\Anaconda2
输入
my_cwd
输出
'0'
我希望调用 my_cwd 会返回'C:\ProgramData\Anaconda2'
我缺少的东西?
os.system
将命令的返回码作为整数返回(这就是您尝试转换为 的原因str
),而不是作为字符串的命令输出。
要获得输出,您可以使用subprocess.check_output
(subprocess.run
在 python 3.5+ 中) with shell=True
since cd
is built-in:
import subprocess
value = subprocess.check_output(["cd"],shell=True)
(check_output
如果命令失败,则会引发异常)
您还必须通过使用“清理”输出value.rstrip()
并将结果解码为字符串,因为subprocess.check_output
返回一个bytes
对象......此外,您的代码在 Linux 上不可移植,因为所需的命令是pwd
.
好吧,仅获取当前目录非常复杂(将那种东西留给cls
或clear
命令)。最pythonic的方法是使用:
os.getcwd()