1
616
您可以使用以下方式更改工作目录:
使用此方法时,需要遵循两个最佳实践:
更改子进程中的当前工作目录不会更改父进程中的当前工作目录。这同样适用于Python解释器。不能使用
|
2
271
下面是一个更改工作目录的上下文管理器示例。它比 ActiveState version 其他地方提到的,但这可以完成工作。
上下文管理器:
|
3
128
|
4
91
然后,即使在引发异常之后,也会还原目录:
|
5
22
如果您使用的是相对较新版本的python,那么也可以使用上下文管理器,例如 this one :
更新 如果你喜欢自己滚:
|
6
12
|
7
12
正如其他人已经指出的,上面的所有解决方案都只更改当前流程的工作目录。当您退出到unix shell时,这将丢失。如果你绝望了 可以 用这个可怕的黑客程序更改unix上的父shell目录:
|
8
11
|
9
6
进一步深入到布莱恩指出的方向 sh (1.0.8+)
|
10
4
如果要执行“cd…”选项,只需键入: O.CHDIR(“…”) 它与Windows命令:cd中的相同。 当然 导入操作系统 是必需的(例如,将其作为代码的第一行键入) |
11
2
您可以同时使用os.chdir(abs_path)或os.chdir(rel_path),不需要调用os.getcwd()来使用相对路径。 |
12
1
另外,在这里检查操作系统包中所有其他有用的命令也是很好的。 https://docs.python.org/3/library/os.html |
13
0
更改脚本进程的当前目录非常简单。我认为问题实际上是如何更改命令窗口中调用Python脚本的当前目录,这非常困难。Windows中的BAT脚本或bash shell中的bash脚本可以使用普通的cd命令来执行此操作,因为shell本身就是解释器。在Windows和Linux中,python都是一个程序,任何程序都不能直接更改其父环境。然而,将简单的shell脚本与执行大多数硬操作的python脚本结合在一起可以获得所需的结果。例如,为了使扩展CD命令具有向后/向前/选择重访的遍历历史,我编写了一个简单的BAT脚本调用的相对复杂的python脚本。遍历列表存储在一个文件中,目标目录位于第一行。当python脚本返回时,bat脚本读取文件的第一行,并将其作为cd的参数。完整的BAT脚本(为了简洁起见减去注释)是:
python脚本dsup.py是:
|
14
-5
为了便于交互使用, ipython 内置了所有常见的shell命令。 |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |