【问题标题】:How to achieve the real cd in python? [duplicate]如何在python中实现真正的cd? [复制]
【发布时间】:2020-07-06 15:22:46
【问题描述】:

我正在编写一个工具来方便我的跳跃。 执行以下命令后,

./main.py  /etc

当前路径实际上是跳转到/etc

如果我在main.py 中使用os.chdir,那么当前路径会弹出到原来的路径,这不是我所期望的。

如何在 python 中更改当前的真实路径?

【问题讨论】:

  • 正在改变你的 Python 进程的“真正的当前路径”......。不是你 shell 的当前目录。只有你的 shell 可以改变它自己的目录。

标签: python cd


【解决方案1】:

您的 shell 和 Python 脚本作为两个不同的进程运行。每个进程都有一个不同的工作目录。在一个进程中更改工作目录不会影响任何其他进程的工作目录。

这就是为什么不能将 shell cd 命令创建为外部程序的原因。

【讨论】:

  • 所以没有办法自定义cd命令?
  • @haoli 不,没有。如果您需要“自定义”cd 命令,则可以在 shell 中将其创建为函数以执行您可能需要的任何其他操作,然后调用 shell 内置的cd 命令。
  • 好吧,you could 使用 ptrace(2) 将目标程序欺负到 cding 到不同的文件夹...但我不会出于任何原因推荐它,除非是为了玩得开心和探索新的有趣破坏系统的方法。
猜你喜欢
  • 2017-09-30
  • 1970-01-01
  • 2017-12-12
  • 1970-01-01
  • 2019-11-18
  • 1970-01-01
  • 1970-01-01
  • 2020-09-30
  • 1970-01-01
相关资源
最近更新 更多