2024-06-28 15:08:40 发布
网友
输入
import os my_cwd = str(os.system("cd"))
输出
C:\ProgramData\Anaconda2
'0'
我希望打电话给我的ucwd会返回'C:\ProgramData\Anaconda2'我遗漏了什么?在
'C:\ProgramData\Anaconda2'
os.system返回命令的返回代码为整数(这就是您试图转换为str)的原因,而不是命令的输出作为字符串。在
os.system
str
要获得输出,可以将subprocess.check_output(python 3.5+)中的subprocess.run与{}一起使用,因为cd是内置的:
subprocess.check_output
subprocess.run
cd
import subprocess value = subprocess.check_output(["cd"],shell=True)
(check_output如果命令失败,则引发异常)
check_output
您还必须使用value.rstrip()来“清理”输出,并将结果解码为字符串,因为subprocess.check_output返回一个bytes对象。。。另外,您的代码在Linux上不可移植,因为需要的命令是pwd。在
value.rstrip()
bytes
pwd
好吧,只获取当前目录非常复杂(将这类内容留给cls或clear命令)。最棒的方法是使用:
cls
clear
os.system
返回命令的返回代码为整数(这就是您试图转换为str
)的原因,而不是命令的输出作为字符串。在要获得输出,可以将}一起使用,因为
subprocess.check_output
(python 3.5+)中的subprocess.run
与{cd
是内置的:(
check_output
如果命令失败,则引发异常)您还必须使用
value.rstrip()
来“清理”输出,并将结果解码为字符串,因为subprocess.check_output
返回一个bytes
对象。。。另外,您的代码在Linux上不可移植,因为需要的命令是pwd
。在好吧,只获取当前目录非常复杂(将这类内容留给
^{pr2}$cls
或clear
命令)。最棒的方法是使用:相关问题 更多 >
编程相关推荐