如何在Python中使用cd terminal命令

时间:2013-03-25 17:23:41

标签: python linux subprocess raspberry-pi cd

问题

如何使用cdsubprocess 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

2 个答案:

答案 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')