如何在Python中使用cd命令
问题
我该如何在树莓派上使用 cd
和 subprocess模块
来更改当前目录?
背景
因为我非常不喜欢使用命令行,所以我想创建一个简单的图形界面文本编辑器,它还可以编译我的程序。目前,我只是想把目录更改为 Desktop
(桌面)。为此,我正在使用 subprocess
模块。以下是我现在的代码:
from subprocess import *
call(["cd","Desktop"])
在终端中,这一行(cd Desktop
)会把当前目录改为 Desktop
。奇怪的是,当我通过 subprocess
运行它时,却出现了这个错误:
OSError: [Errno 2] No such file or directory
技术规格
树莓派 B 型
Raspbian "Wheezy" 操作系统
2 个回答
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')
5
我建议你试试 os.chdir
这个命令。
import os
os.chdir("/path/to/dir")