gpt4 book ai didi

python - 如何从 python 脚本更改当前目录?

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:49 24 4
gpt4 key购买 nike

我正在尝试实现我自己的“cd”命令版本,该命令向用户显示一个硬编码目录列表以供选择,并且用户必须输入与列表中的条目相对应的数字。该程序目前名为 my_cd.py,然后应该有效地将用户“cd”到所选目录。这应该如何工作的示例:

/some/directory
$ my_cd.py
1) ~
2) /bin/
3) /usr
Enter menu selection, or q to quit: 2

/bin
$

目前,我正在尝试使用 os.chdir('dir') 进行“cd”。但是,这不起作用,可能是因为 my_cd.py 在其自己的子进程中启动。我尝试将对 my_cd.py 的调用包装在名为 my_cd.sh 的源 bash 脚本中:

#! /bin/bash
function my_cd() {
/path/to/my_cd.py
}

/some/directory
$ . my_cd.sh
$ my_cd
... shows list of dirs, but doesn't 'cd' in the interactive shell

关于如何让它工作的任何想法?是否可以从 python 脚本更改我的交互式 shell 的当前目录?

最佳答案

将源 bash 代码更改为:

#! /bin/bash
function my_cd() {
cd `/path/to/my_cd.py`
}

和你的 Python 代码在 sys.stderr 上完成它所有的 cosmetic 输出(给用户的消息、菜单等),最后,而不是os.chdir,只需打印(到sys.stdout)目录应该更改到的路径。

关于python - 如何从 python 脚本更改当前目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com