Файлы и каталоги, использующие Python - PullRequest
0 голосов
/ 03 апреля 2020

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

Код:

import os

def new_directory(directory, filename):
  # Before creating a new directory, check to see if it already exists
  if not os.path.exists(directory):
    os.mkdir(directory)

  # Create the new file inside of the new directory
  os.chdir(directory)
  with open(filename, "w") as file:
    pass

  # Return the list of files in the new directory
  return os.listdir(directory)

print(new_directory("PythonPrograms", "script.py"))

Сообщение об ошибке:

Error on line 16:
    print(new_directory("PythonPrograms", "script.py"))
Error on line 14:
    return os.listdir(directory)
FileNotFoundError: [Errno 2] No such file or directory: 'PythonPrograms'

1 Ответ

0 голосов
/ 03 апреля 2020
os.chdir(directory)

Эта строка помещает вас в каталог, который вы только что создали. Когда вы попытаетесь сослаться на папку позже, вы не увидите ее, потому что вы внутри нее.

Самое простое решение - просто go создать резервную копию каталога после добавления файла: с помощью

open(filename, "w") as file:
    pass

os.chdir("..")  # Go back up to the parent

return os.listdir(directory)

Или, как уже упоминалось в комментариях, просто создайте путь, чтобы избежать необходимости первоначального вызова chdir во-первых.

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