После создания или поиска существующего каталога вы os.chdir
перейдете в этот каталог. Теперь ваш текущий каталог - ./PythonPrograms
. Позже, когда вы os.listdir(directory)
, вы уже перешли в этот каталог и ищете ./PythonPrograms/PythonPrograms
, которого не существует.
Это редко хорошая идея для os.chdir
- этот тип ошибки это слишком легко сделать. Вместо этого просто сохраняйте более длинные пути. Я немного переработал код, чтобы код в if / else не повторялся:
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)
filepath = os.path.join(directory, filename)
with open(filepath,'w') as file:
pass
# Return the list of files in the new directory
return os.listdir(directory)
print(new_directory("PythonPrograms", "script.py"))