如何使用Python中的用户名操作系统()或错误?

2024-04-25 04:57:15 发布

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

我在写一个程序,我给一个小零件:在

#!/usr/bin/env python
import os
import subprocess

whoami = subprocess.check_output("whoami", shell=True)
print whoami
os.chdir("/")
os.chdir("/home/"+whoami+"/Silly")
pwd = subprocess.check_output("pwd", shell=True)
print pwd

在执行程序之后我得到了这:在

^{pr2}$

在Linux上使用JetBrains的PyCharm。当我使用用户名时,我会得到带有用户名的“\n”。我试着用

whoami = whoami[:-2]

但是失败了。在


Tags: import程序trueoutputbinosusrcheck
1条回答
网友
1楼 · 发布于 2024-04-25 04:57:15

您的代码不能工作的原因是因为whoami是一个字节流,末尾有一个'\n'。在

使用strip()从whoami对象中删除'\n'。在

然后用utf-8解码,把它转换成字符串。在

whoami = whoami.strip().decode("utf-8")

相关问题 更多 >