输入
import os
my_cwd = str(os.system("cd"))输出
C:\ProgramData\Anaconda2 2
输入
my_cwd输出
“0”
我希望打电话给my_cwd会返回'C:\ProgramData\Anaconda2',我遗漏了什么?
发布于 2017-08-01 20:40:08
os.system以整数形式返回命令的返回代码(这就是为什么要转换为str的原因),而不是以字符串的形式返回命令的输出。
为了获得输出,您可以使用subprocess.check_output (subprocess.run in 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命令处理)。得到它的最重要的方法是使用:
os.getcwd()https://stackoverflow.com/questions/45447282
复制相似问题