Stackhey社区溢出!
我是新来的,不熟悉编程,但我在做事时遇到了一些麻烦,所以让我解释一下。在
我试着写了一个python2.7脚本,我的朋友可以用.exe运行它,在启动时介绍它自己,并询问用户是否想打开word文档(在Python脚本之外,与可执行文件在同一个文件夹中)。
如果有一种方法可以在用户再次单击控制台窗口时继续脚本,而不必在打开word文档后使用sleep(8)+sleep(5),那就太棒了。
之后,它应该解释一些关于word文档的事情,然后用户可以选择回答他们想回答的问题。其回复将在按enter键后发送到我自己的邮件中(为此使用了smtp)。
在那之后,他们可以选择关闭脚本或者读一个蹩脚的笑话,我仍然需要考虑。在
好吧,这就是我想要的剧本。在
现在我知道我的朋友都不知道如何打开.py脚本,这就是为什么我要为他们制作一个常规的可执行文件(当windows版本完成时,我仍然需要mac的.app版本,但这是以后要考虑的问题)。在
我用了cxéu Freeze来实现这一点,并一直努力工作,直到我想工作的所有东西都能正常工作。在
word文档在word中以cx-freeze版本打开(不知道是否有更通用的方法)网络浏览器打开但是我不知道文件在我朋友的计算机上的路径,所以我不能处理真正指向路径的子进程,其他的一切都能正常工作。
现在我在64位Win8.1电脑上做了这个。
我已经在另一台32位win7电脑上测试过了,它工作得很好。
但是当我把它发给我的爸爸,他也有一台32位的win7电脑,它显示了一个“这个版本的文件与你正在运行的windows版本不兼容”错误。现在我有我的公平份额兼容性错误下载游戏,所以我试图使用不同的胜利兼容模式,但没有任何工作。在
因此,现在我尝试使用pyinstaller(包括pywin32 stuff)创建一个.exe,但同样的问题仍然存在。它在我的电脑上工作,但在我爸爸的32位Win 7电脑上不行。
以管理员身份运行它不起作用,更改兼容性也不起作用,尝试不同的.exe文件也不起作用。所以基本上我没什么主意了。在
你们谁能帮帮我吗?
如果我需要安装一些东西,例如,添加32位依赖项或其他东西,那么我想请求一些步骤来安装它,因为我真的是新手。在
这是我的剧本:import webbrowser
import smtplib
from time import sleep
def sendemail(from_addr, to_addr_list, cc_addr_list,
subject, message,
login, password,
smtpserver='smtp.gmail.com:587'):
header = 'From: %s\n' % from_addr
header += 'To: %s\n' % ','.join(to_addr_list)
header += 'Cc: %s\n' % ','.join(cc_addr_list)
header += 'Subject: %s\n\n' % subject
message = header + message
server = smtplib.SMTP(smtpserver)
server.starttls()
server.login(login,password)
problems = server.sendmail(from_addr, to_addr_list, message)
server.quit()
print "Blabla test lines bla\n"
sleep(4)
check_one = raw_input("Open word thing now?(yes/no)")
if check_one == "yes":
webbrowser.open("wordthing.doc")
sleep(8)
print "Done! bla"
if check_one == "no":
print "Meh"
sleep(5)
print "blabla more bla"
sleep(3)
print ("The answer to the question below "
"will be mailed to my inbox \n")
sleep(2)
sendemail(from_addr = 'thingthatmails@gmail.com',
to_addr_list = ['myownmail@gmail.com'],
cc_addr_list = ['thingthatmails@gmail.com'],
subject = 'Stack overflow question bla',
message = raw_input(" Is this a question?(yes/no) "),
login = 'thingthatmails@gmail.com',
password = 'thingthatmailspassword')
print "Mail sent!\n"
sleep(3)
print "Thanks for mailing blabla"
sleep(2)
print "Blablabla see you soon \n"
sleep(2)
close_script = raw_input("Type exit to close or ha! "
"for a lame ass joke > /n")
if close_script == "exit":
print "Closing..."
sleep(1)
if close_script == "ha!":
print "badumm tss"
sleep(2)
print "..."
sleep(1)
print "I couldn't think of a joke here"
sleep(1)
这是设置.py我正在使用创建一个带有cx\u Freeze的.exe:
^{pr2}$
这是我在powershell中用来创建带有cx_Freeze的.exe的命令:
C:\Python27\python.exe设置.py建造
这是我在powershell中用pyinstaller创建.exe的命令:
python C:\pyinstaller-2.1\pyinstaller.py--onefile--控制台堆栈溢出.py在
很长的帖子,但我只是想确保你有你需要的所有信息:)
提前谢谢你,你会帮助我更好地理解这一点!在