Python,如何在本地更改目录?

2024-04-25 19:29:09 发布

您现在位置:Python中文网/ 问答频道 /正文

使用操作系统模块更改目录时,将全局进行更改。有办法在本地更改目录吗?你知道吗

你知道吗编辑:是,对不起。在另一个线程中本地。当您使用thread模块时,普通chdir会更改所有线程的工作目录。你知道吗


Tags: 模块目录编辑全局线程thread办法chdir
2条回答

使用^{}编写装饰器/上下文管理器并不是很难做到这一点。你知道吗

import contextlib2
import os

@contextlib2.contextmanager
def restore_chdir(dir_):
    orig= os.getcwd()
    os.chdir(dir_)
    try: 
        yield
    finally: 
        os.chdir(orig)

现在可以将其用作:

with restore_chdir('/foo'):
    ...

或者作为一个功能装饰。你知道吗

您可以简单地用os模块定义一个函数,它可以还原目录。你知道吗

import os
def func():
  original = os.getcwd()
  os.chdir("Your Directory Name")
  ## Do something here
  os.chdir(original)

相关问题 更多 >