cwd的字符串变量

2024-06-28 15:08:40 发布

您现在位置:Python中文网/ 问答频道 /正文

输入

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

输出

C:\ProgramData\Anaconda2

输入

^{pr2}$

输出

'0'

我希望打电话给我的ucwd会返回'C:\ProgramData\Anaconda2'我遗漏了什么?在


Tags: importosmycdsystemstr遗漏cwd
1条回答
网友
1楼 · 发布于 2024-06-28 15:08:40

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

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

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

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

您还必须使用value.rstrip()来“清理”输出,并将结果解码为字符串,因为subprocess.check_output返回一个bytes对象。。。另外,您的代码在Linux上不可移植,因为需要的命令是pwd。在

好吧,只获取当前目录非常复杂(将这类内容留给clsclear命令)。最棒的方法是使用:

^{pr2}$

相关问题 更多 >