решаемые
Благодаря @James, эта проблема была полностью решена!
Решение
Создание конкретной функции для создания каталогов, показано ниже:
# SETTINGS.PY
pathNAME = '../Location'
PathName2 = pathNAME + '/Location2'
# Define Functions
def make_dir(directoryName):
if os.path.exists(directoryName):
if os.path.isdir(directoryName):
return False
os.mkdir(directoryName)
print(directoryName)
return True
А потом в основном сценарии
import settings
settings.make_dir(settings.pathNAME)
settings.make_dir(settings.pathName2)
Вот как ты это делаешь! Спасибо всем, кто пытался помочь! И еще спасибо @James !!
Оригинальный пост
ВИДЕО
Видео, показывающее весь мой код, и проблема
Описание
Обычно я пытаюсь создать папки для своего проекта, если они не существуют, однако, когда я запускаю файл .py, который создает папки, он создает только две из них, а затем утверждает, что все файлы уже существуют. , Хотя в проводнике файлов их нет (они также не существуют в терминале, когда я делаю ls). Я попытался переместить переменные в один и тот же файл, и я попытался избавиться от операторов if, я также попытался выполнить os.mkdir()
и установить для existOk значение true. Я никогда не получаю никаких ошибок
Консольные выходы
Первый запуск (папок не существует)
True # Main Directory: It thinks the base directory already exists
False # Logs Directory: It knows that the other directories do not exist
False # Users Directory: ^
False # Inventory Directory: ^^
False # Stats Directory: ^^^
../FrozenDesert # It Created The Base Directory
../FrozenDesert/Users # It Created The Users Directory
Второй запуск (пользователи и основной каталог существуют)
True # Main Directory: Knows it exists
True # Logs Directory: Thinks it exists
True # Users Directory: Knows it exists
True # Inventory Directory: Thinks it exists
True # Stats Directory: Thinks it exists
# No Directories were created
Код
Каталог входа (не имеет значения)
#Imports
import time
import os
import settings
# Request User Input
print('Welcome To The Frozen Desert. Would You Like To Register Or Sign In?')
print(" ")
while True:
# Store User Input
identity = raw_input("Login [L] / Register [R]: ")
# Checks To See If The Answer Is Appropriate
if identity.lower() not in ('l', 'r'):
continue
print(" ")
break
#TODO: Make Te Login & Registration Functions Work
# Begins User Login
if identity.lower() == "l":
print("Opening Login Pane")
time.sleep(1)
# Clears Screen
i = 0
while i <= 50:
print(" ")
i += 1
#Begins User Registration
if identity.lower() == "r":
print("Opening Registration Pane")
# Clears Screen
i = 0
time.sleep(1)
while i <= 50:
print(" ")
i += 1
Каталог настроек (переменные)
# Imports
import os
# Define Locations
pathBase = '../FrozenDesert'
pathUsers = pathBase + '/Users'
pathInventory = pathUsers + '/Inventory'
pathStats = pathUsers + '/Stats'
pathLogs = pathBase + '/Logs'
directoryMain = os.path.dirname(pathBase)
directoryUsers = os.path.dirname(pathUsers)
directoryUserStats = os.path.dirname(pathStats)
directoryUserInventory = os.path.dirname(pathInventory)
directoryLogs = os.path.dirname(pathLogs)
Управление запуском (создание каталогов и прочего)
# Imports
import os
import settings
# Create Directories
print(os.path.isdir(settings.directoryMain))
print(os.path.isdir(settings.directoryLogs))
print(os.path.isdir(settings.directoryUsers))
print(os.path.isdir(settings.directoryUserInventory))
print(os.path.isdir(settings.directoryUserStats))
# TODO: Make Evrything Below Work
# Main Directory
if not os.path.isdir(settings.directoryMain):
print(settings.directoryMain)
os.makedirs(settings.directoryMain)
# Users Directory
if not os.path.isdir(settings.directoryUsers):
print(settings.directoryUsers)
os.makedirs(settings.directoryUsers)
# Logs Directory
if not os.path.exists(settings.directoryLogs):
print(settings.directoryLogs)
os.makedirs(settings.directoryLogs)
# User-Stats Directory
if not os.path.isdir(settings.directoryUserStats):
print(settings.directoryUserStats)
os.makedirs(settings.directoryUserStats)
# User-Inventory Directory
if not os.path.isdir(settings.directoryUserInventory):
print(settings.directoryUserInventory)
os.makedirs(settings.directoryUserInventory)