Я создал простой скрипт Python, который позволяет пользователям отправлять текстовые сообщения на телефоны через телефонные письма всех номеров. Я скомпилирован в .exe, поэтому мои друзья будут более доступными, но после того, как я их скомпилировал, я заметил, что .exe не принимает ввод так, как это делает интерпретатор Python. Я использовал команду:Python to Exe Создание ошибок форматирования ввода
address = input("What is the address?")
для того, чтобы принять ответ в виде строки и использовать его в качестве значения данных в функции SMTP, показанном в сценарии:
import smtplib
server = smtplib.SMTP('smtp.gmail.com:587')
password = ["textFilter", "listCheck", "8*****ksd", "1231238dj", "312j38d", "12391jd", "1293ds", "12931d", "123c8we", "129ks9n2", "2139m2", "1s21231", "121i2m1", "16****on", "12983j", "231m8d9"]
spamActivate = True
messageSent = 0
modPat = 0
print "!Welcome to PySpammer v0.1 by CryptoFrost, all rights reserved to Damon %%%%% - 2014!\n\n"
print "To start using this program, you will need to know your target address. The address is an email linked to all" \
" phones. It uses the target number and the line extension. For example, a Verizon line would use [number]@vtext.com." \
" If you don't know the target address, simply have the target text an email that you have access to. Enter the" \
" email, check the received message, and use the sender's email that you will use for this program." \
" Here are a few known extensions:\n\n" \
"* Verizon - [number]@vtext.com\n" \
"* AT&T - [number]@txt.att.net\n" \
"* Straight-Talk - [number]@messaging.sprintpcs.com (Straight-Talk uses a few different addresses)\n" \
"* Sprint - [number]@messaging.sprintpcs.com (Yes, it's the same as ST)\n" \
"* Virgin Mobile - [number]@vmobl.com\n" \
"* T-Mobile - [number]@tmomail.net\n" \
"* Nextel - [number]@messaging.nextel.com\n\n" \
"Make sure to use the 10-digit number!"
address = input("What is the address?\n")
server.starttls()
server.login("[email protected]",password[2])
msg = input("What is the message?\n")
while spamActivate:
server.sendmail("[email protected]", address, msg)
messageSent = messageSent + 1
modPat = modPat + 1
print(messageSent, "total messages sent!")
# ["8******[email protected]", "8********[email protected]", "******[email protected]", "*******[email protected]"]
Когда я компилирую это .exe и запустить его, я ввести адрес и получить это:
единственный способ, которым я был в состоянии исправить это сам, чтобы войти в кавычки самого адреса ... но я не хочу этого делать (и я не худею k пользователи тоже). Как форматировать текст до его ввода, чтобы он использовался как строка (без необходимости форматирования его в строку внутри программы)?
Я фактически сделал прототип этой программы в Python 3.3.5, но мне пришлось преобразовать ее в 2.7.6, потому что я не смог найти действительный .py-.exe-конвертер, отличный от cx_freeze (у меня есть проблемы с). Я могу снова попробовать cx_freeze, но если он не работает, то метод, который я использую в сообщении, является единственным доступным. – Zulfe
cx_freeze относительно прост в использовании: здесь легко следовать учебному пособию, чтобы выйти из https://www.youtube.com/watch?v=XHcDHSWRCRQ. Я пробовал его в 3.3.2, и он отлично работает, также работает с модулями , – Duffney