Как уже говорили другие, отлаживать без ошибки сложно. При правильных обстоятельствах ваш код будет работать без ошибок. Как предположил @Jack, я подозреваю, что ваш текущий каталог не /home
. Это означает, что вы создали каталог с именем PythonPrograms
в каталоге /home
. os.chdir("PythonPrograms")
пытается изменить каталог на <currentDirectory>/PythonPrograms
, которого не существует.
Я попытался переработать ваш код (не меняя его полностью) во что-то, что должно работать во всех случаях. Я думаю, урок здесь в том, что работайте с уже имеющимися переменными (например, directory
), а не жестко кодируйте их в функции.
import os
def new_directory(directory, filename):
if not os.path.isdir(directory):
# Create directory within current directory
# This is working off the relative path (from your current directory)
directory = os.mkdir(directory)
# Create file if does not exist
# this is a one-liner version of you with...pass statement
open(os.path.join(directory, filename), 'a').close()
# Return the list of files in the new directory
return os.listdir(directory)
print(new_directory("PythonPrograms", "script.py"))
Надеюсь, это поможет.