【发布时间】:2014-07-05 16:14:43
【问题描述】:
我用 Python 2.7 编写了一个基于文本的小型游戏,它可以通过 FTP 自行修补。 当我启动我的启动器时,游戏在没有打补丁的情况下启动,我做错了什么?
import hotseat
import ftplib as ftp
#connect to FTP server
ftp = ftp.FTP("...", "...", "...")
ftp.cwd ("recent_version")
print "Connection to server succesfull"
#Patch Characters
f = open("chars.py", "wb")
ftp.retrbinary ("RETR chars.py", f.write)
f.close
print "Retrieved character data"
#Patch Hotseat
f = open("hotseat.py", "wb")
ftp.retrbinary ("RETR hotseat.py", f.write)
f.close
ftp.quit()
print "Retrieved game data"
print
hotseat.hotseat()
当我运行脚本时,我得到了 hotseat 模块的输出(“欢迎使用 hotseat 模式”),但没有警告或“已连接到服务器”...
我做错了什么?
【问题讨论】:
-
这无论如何都行不通。 Python 首先 加载您的 Python 文件,然后运行代码。重写文件不会更新 Python 运行的代码,它已经读取了文件。
-
我可以写一个文件,覆盖文件然后调用启动器文件吗?
-
您的启动器可以从 FTP 加载 单独 文件,然后导入该文件。如果在加载新版本之前未导入该文件,则将使用最新版本。