Как я могу изменить свой текущий каталог, используя tmpdir? - PullRequest
0 голосов
/ 06 апреля 2020

Как я могу записать файлы в каталог tmpdir вместо текущего каталога? Как я могу использовать tmpdir. Документация мне не помогла.

1 Ответ

1 голос
/ 06 апреля 2020

pytest рекомендует более новый tmp_path прибор сверх tmpdir. tmp_path использует pathlib, поэтому вы можете удобно использовать / для определения путей на их основе.

Вот как вы можете использовать его в тесте:

def test_foo(tmp_path):
    make_file(tmp_path / "file1", "something")

Если вам действительно нужно перейти в этот каталог, сделайте что-то вроде

def test_foo(tmp_path):
    os.chdir(tmp_path)  # If you're using Python 3.6 or later
    # or if you're on an older version:
    os.chdir(str(tmp_path))

, но в зависимости от текущего каталога пахнет кодом. Рассмотрите возможность рефакторинга вашего кода, чтобы он мог запускаться из любого места.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...