我在python中创建一个脚本,将代码写入四个变量中的.py文件(例如x = 6)。问题是当我导入它以使用变量然后写一些代码到它我需要使用reload()来刷新导入我quess并允许我使用变量但它不会重新加载.py文件它只会重新加载.pyc文件。
下载一些代码来帮助(不太确定它会:/)
我调用一个函数将数据写入.py文件,然后调用一个函数重新加载模块,但最终重新加载.pyc
make(2, "name", "'Bob'")
def re(module):
reload(module)
print"Reloaded "+ str(module)
def make(0-1-2, var, data):
if 0-1-2 == 1:
TempF.write(var+" = "+data)
TempF.write("\n")
re(Temp)
if 0-1-2 == 2:
PermF.write(var+" = "+data)
PermF.write("\n")
re(Perm)
if 0-1-2 == 0:
MiscF.write(var+" = "+data)
MiscF.write("\n")
re(Misc)
Reloaded <module 'Perm' from 'C:\Users\Admin\PycharmProjects\DeanRobbieRowe\Perm.pyc'>
答案 0 :(得分:0)
写完后尝试使用文件对象的.flush()方法。
所以:
make(2, "name", "'Bob'")
def re(module):
reload(module)
print"Reloaded "+ str(module)
def make(0-1-2, var, data):
if 0-1-2 == 1:
TempF.write(var+" = "+data)
TempF.write("\n")
TempF.flush()
re(Temp)
if 0-1-2 == 2:
PermF.write(var+" = "+data)
PermF.write("\n")
PermF.flush()
re(Perm)
if 0-1-2 == 0:
MiscF.write(var+" = "+data)
MiscF.write("\n")
MiscF.flush()
re(Misc)