问题
如何使用cd
和subprocess module
更改树莓派上的活动目录?
背景
由于我绝对讨厌使用命令行,我正在尝试创建一个基本的GUI文本编辑器,它也可以编译我的程序。目前,我只是想将目录更改为Desktop
。为此,我使用的是subprocess
模块。这是我目前的代码:
from subprocess import *
call(["cd","Desktop"])
在终端中,此行(cd Desktop
)会将活动目录更改为Desktop
。奇怪的是,当我通过subprocess
运行时,我收到了这个错误:
OSError: [Errno 2] No such file or directory
技术规格
Raspberry Pi Model B
Raspbian“Wheezy”OS
答案 0 :(得分:4)
我会尝试os.chdir
import os
os.chdir("/path/to/dir")
答案 1 :(得分:1)
我并不是要破坏原始问题,但如果您尝试自动执行大量任务,则可以使用fabric
模块。
它的语法相当简单:
with cd('/path/to/app'):
with prefix('workon myvenv'):
run('./manage.py syncdb')
http://docs.fabfile.org/en/1.6/api/core/context_managers.html
它专为ssh上的远程使用而设计,但许多人将它用于许多本地管理&部署
lcd
命令适用于您的本地计算机:
with lcd('/path/to/app'):
with prefix('workon myvenv'):
run('./manage.py syncdb')