2014-02-15 78 views
0

我需要将目录(CD)更改为Linux用户的桌面。现在,Linux的用户名是一个变量,所以我尝试具有路径,当然,它不会工作:Python:CD到Linux用户桌面

import os 
os.chdir("/path/to/dir") 

所以我试过如下:

subprocess.call("cd", "~/Desktop") 
    subprocess.call("pwd") 

但我得到了以下错误:

Traceback (most recent call last): 
    File "SIPHON.py", line 132, in <module> 
    subprocess.call("cd", "~/Desktop") 
    File "/usr/lib/python2.7/subprocess.py", line 522, in call 
    return Popen(*popenargs, **kwargs).wait() 
    File "/usr/lib/python2.7/subprocess.py", line 658, in __init__ 
    raise TypeError("bufsize must be an integer") 
TypeError: bufsize must be an integer 

如何在Linux中使用Python切换到用户桌面?

在此先感谢。

回答

1

你需要使用os.path.expanduser扩大~为实际路径:

>>> os.path.expanduser('~/Desktop') 
'/home/falsetru/Desktop' 

os.chdir(os.path.expanduser('~/Desktop'))