输入
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=Truesince cdis 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()