如何在Python中使用cd命令

1 投票
2 回答
5900 浏览
提问于 2025-04-17 20:14

问题

我该如何在树莓派上使用 cdsubprocess模块 来更改当前目录?

背景

因为我非常不喜欢使用命令行,所以我想创建一个简单的图形界面文本编辑器,它还可以编译我的程序。目前,我只是想把目录更改为 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")

撰写回答