Я запрограммировал небольшой генератор паролей, где вы можете сохранить пароль и его службу в файле с именем «password.txt». Каждый раз, когда я запускаю программу, файл остается пустым. Когда я удаляю файл и снова запускаю программу, файл «password.txt» создается, но все еще пуст.Почему Python не записывает файл?
import random
letters = "1 2 3 4 5 6 7 8 9 Q W E R T Z U I O P A S D F G H J K L Y X C V B N M q w e r t z u i o p a s d f g h j k l y x c v b n m : ; , . 0".split()
def checkNumb(string):
for i in string:
x = i.isdigit()
if x == True:
return True
def createPassword():
global letters
password = ""
i = 0
passLength = random.randint(7, 10)
while i < passLength:
passLetter = random.choice(letters)
password += passLetter
i += 1
x = checkNumb(password)
if x != True:
password = createPassword()
return password
print("What is the name of the service?")
service = input()
password = createPassword()
print(password, "will be your password for", service)
file = open("password.txt","a")
file.write(service + ": " + password)
file.close()
Кроме того, потому что я новичок, это было бы большим подспорьем, если кто-то мог указать несколько улучшений я могу сделать в этом коде.
РЕДАКТИРОВАТЬ: Ошибка отступов в выражении while была просто ошибкой, которую я сделал, копируя код здесь. Программа не имеет ошибок отступов. Спасибо asongtoruin, чтобы напомнить мне.
не уверен, если это от копирования кода на SO, но ваши отступы горят - 'while i
asongtoruin
Эта программа даже не запускается. Можете ли вы проверить отступы, пожалуйста? Плохой с отступом код Python - это нонсенс. – khelwood
После того, как я исправил отступ цикла while, у меня был 'password.txt' с нужным текстом в нем ... –