Вы должны войти, чтобы создавать сообщения и темы.
Как сделать проверку: что после каждого раздела идёт только 1 слэш
lоRes@lores2
147 Сообщений
Pro
#1 · 10.02.2021, 01:53
Цитата: lоRes от 10.02.2021, 01:53Здравствуйте!
Как осуществить проверку в python то что после каждого раздела идёт 1 слэш в синтаксисте python 2Я уже забацал такую проверку:
[spoiler]AddToPathFile = input("Введите путь: ").lower() if not ":" in AddToPathFile: # Проверка в пути знака : print("error1") exit() else: if not len(AddToPathFile.split(":")) == 2: # Проверка то что буква диска существует print("error2") exit() else: if not len(AddToPathFile.split(":")[0]) == 1: # Проверка то что буква диска это один знак print("error3") exit() else: if not AddToPathFile.split(":")[0].isalpha() == True: # Проверка то что буква диска не являться цифрой print("error4") exit() else: if not AddToPathFile[2] == "\\": # Проверка то что после буквы диска идёт \ print("error5") exit() else: for i in range(7): if ['/', '*', '?', '"', '<', '>', '|'][i] in AddToPathFile.replace(":", "").replace("\\", ""): # Проверка то что в названии разделов не используется запрещённые в наименовании windows знаки print("error6") break else: if not AddToPathFile[-1] == "\\": # И дополнительно идёт проверка если в конце пути нет \ то он добавляться AddToPathFile = AddToPathFile + "\\"[/spoiler]
Но осталось только то что я описал выше.
Здравствуйте!
Как осуществить проверку в python то что после каждого раздела идёт 1 слэш в синтаксисте python 2
Я уже забацал такую проверку:
Спойлер
AddToPathFile = input("Введите путь: ").lower()
if not ":" in AddToPathFile: # Проверка в пути знака :
print("error1")
exit()
else:
if not len(AddToPathFile.split(":")) == 2: # Проверка то что буква диска существует
print("error2")
exit()
else:
if not len(AddToPathFile.split(":")[0]) == 1: # Проверка то что буква диска это один знак
print("error3")
exit()
else:
if not AddToPathFile.split(":")[0].isalpha() == True: # Проверка то что буква диска не являться цифрой
print("error4")
exit()
else:
if not AddToPathFile[2] == "\\": # Проверка то что после буквы диска идёт \
print("error5")
exit()
else:
for i in range(7):
if ['/', '*', '?', '"', '<', '>', '|'][i] in AddToPathFile.replace(":", "").replace("\\", ""): # Проверка то что в названии разделов не используется запрещённые в наименовании windows знаки
print("error6")
break
else:
if not AddToPathFile[-1] == "\\": # И дополнительно идёт проверка если в конце пути нет \ то он добавляться
AddToPathFile = AddToPathFile + "\\"
Но осталось только то что я описал выше.
Голосуйте - палец вниз.0Голосуйте - палец вверх.0
lоRes@lores2
147 СообщенийАвтор темы
Pro
#2 · 10.02.2021, 02:16
Цитата: lоRes от 10.02.2021, 02:16Забыл уточнить, проверка пути по существованию не вариант! Так как окончательный скрипт будет выполняться под linux!
Забыл уточнить, проверка пути по существованию не вариант! Так как окончательный скрипт будет выполняться под linux!
Голосуйте - палец вниз.0Голосуйте - палец вверх.0
lоRes@lores2
147 СообщенийАвтор темы
Pro
#3 · 12.02.2021, 04:48
Цитата: lоRes от 12.02.2021, 04:48Решено:
[spoiler=Спойлер]
AddToPathFile = input("Введите путь: ").lower() if not ":" in AddToPathFile: # Проверка в пути знака : print("error1") exit() else: if not len(AddToPathFile.split(":")) == 2: # Проверка то что буква диска существует print("error2") exit() else: if not len(AddToPathFile.split(":")[0]) == 1: # Проверка то что буква диска это один знак print("error3") exit() else: if not AddToPathFile.split(":")[0].isalpha() == True: # Проверка то что буква диска не являться цифрой print("error4") exit() else: if not AddToPathFile[2] == "\\": # Проверка то что после буквы диска идёт \ print("error5") exit() else: for i in range(7): if ['/', '*', '?', '"', '<', '>', '|'][i] in AddToPathFile.replace(":", "").replace("\\", ""): # Проверка то что в названии разделов не используется запрещённые в наименовании windows знаки print("error6") break else: if not AddToPathFile[-1] == "\\": # И дополнительно идёт проверка если в конце пути нет \ то он добавляться AddToPathFile = AddToPathFile + "\\" for i in range(len(AddToPathFile.rstrip("\\").split("\\"))): if AddToPathFile.rstrip("\\").split("\\")[i] == "": print("error7") exit()[/spoiler]
[MNotice]Код под спойлер[/MNotice]
Решено:
Спойлер
AddToPathFile = input("Введите путь: ").lower()
if not ":" in AddToPathFile: # Проверка в пути знака :
print("error1")
exit()
else:
if not len(AddToPathFile.split(":")) == 2: # Проверка то что буква диска существует
print("error2")
exit()
else:
if not len(AddToPathFile.split(":")[0]) == 1: # Проверка то что буква диска это один знак
print("error3")
exit()
else:
if not AddToPathFile.split(":")[0].isalpha() == True: # Проверка то что буква диска не являться цифрой
print("error4")
exit()
else:
if not AddToPathFile[2] == "\\": # Проверка то что после буквы диска идёт \
print("error5")
exit()
else:
for i in range(7):
if ['/', '*', '?', '"', '<', '>', '|'][i] in AddToPathFile.replace(":", "").replace("\\", ""): # Проверка то что в названии разделов не используется запрещённые в наименовании windows знаки
print("error6")
break
else:
if not AddToPathFile[-1] == "\\": # И дополнительно идёт проверка если в конце пути нет \ то он добавляться
AddToPathFile = AddToPathFile + "\\"
for i in range(len(AddToPathFile.rstrip("\\").split("\\"))):
if AddToPathFile.rstrip("\\").split("\\")[i] == "":
print("error7")
exit()
Комментарий модератора:
Код под спойлер
Голосуйте - палец вниз.0Голосуйте - палец вверх.0