Я получил из Интернета следующий генератор паролей (Test.py), и я подумал, что его можно будет легко запустить в Canopy, но это не похоже на работа на всех.Не удалось запустить простой синтаксис if__name__ == __ main__ ':' с помощью Canopy
Я получаю неверные синтаксические ошибки все время. Я отправляю код своему коллеге, и она сказала, что он отлично работает, используя простой терминал i-Python на своей Linux-машине.
#!/usr/bin/env python
import random
import sys
import string
def main(argv):
if (len(sys.argv) != 5):
sys.exit('Usage: simple_pass.py <upper_case> <lower_case> <digit> <special_characters>')
password = ''
for i in range(len(argv)):
for j in range(int(argv[i])):
if i == 0:
password += string.uppercase[random.randint(0,len(string.uppercase)-1)]
elif i == 1:
password += string.lowercase[random.randint(0,len(string.lowercase)-1)]
elif i == 2:
password += string.digits[random.randint(0,len(string.digits)-1)]
elif i == 3:
password += string.punctuation[random.randint(0,len(string.punctuation)-1)]
print 'Your new password is: ' + ''.join(random.sample(password,len(password)))
if __name__ == "__main__":
main(sys.argv[1:])
Я пробовал:
$python Test.py 2 2 2 2
Я попытался использовать весь путь, как хорошо, но ничего не похоже на работу! Я очень расстроен, потому что кажется, что это будет так просто. Любая помощь будет принята с благодарностью.
«Я получаю недопустимые синтаксические ошибки все время». Хорошая отправная точка. Посмотрим на трассировку стека. Кроме того, какую версию Python вы используете? – Kevin
Я только что попробовал ваш код, и оказалось, что «Ваш новый пароль: 5HhJk +, 0'. Я думаю, что это ожидаемый результат. –
Зачем вам что-то нужно _but_ 'if __name__ == '__main __'' строка и некоторое фиктивное содержимое, если это то, что вызывает вашу синтаксическую ошибку? –