如何在Python中获取用户的用户名而不出现os.system()或错误?
我正在编写一个程序,其中我给出了一小部分:-如何在Python中获取用户的用户名而不出现os.system()或错误?,python,pycharm,os.system,Python,Pycharm,Os.system,我正在编写一个程序,其中我给出了一小部分:- #!/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
#!/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
执行程序后,我得到了以下结果:-
/usr/bin/python2.7 /home/rocky/PycharmProjects/Silly/Tester2.py
rocky
Traceback (most recent call last):
File "/home/rocky/PycharmProjects/Silly/Tester2.py", line 8, in
<module>
os.chdir("/home/"+whoami+"/Silly")
OSError: [Errno 2] No such file or directory: '/home/rocky\n/Silly'
Process finished with exit code 1
但失败了 代码无法工作的原因是whoami是一个字节流,末尾有“\n” 使用
strip()
从whoami对象中删除“\n”
并通过utf-8解码将其转换为字符串
whoami = whoami.strip().decode("utf-8")
请记住,您可以使用
~
立即访问Linux系统上的主目录。谢谢@Wintro,但我知道,但是用户必须决定哪个用户的主目录。无论如何,谢谢!谢谢你@Vikash!这个答案对我很有帮助。不客气。另一个获取用户名的好方法是在重复问题标记的链接中。当然!“我只看一眼。”KarthikSrivijay如果答案有帮助,请在勾选框上打勾或投赞成票。谢谢:)当然可以@Vikash!我现在就做。
whoami = whoami.strip().decode("utf-8")