我正在用python编写一个脚本,将代码写到.py文件中的四个变量中(例如,of = 6)。问题是,当我导入它以使用变量,然后为它编写一些代码时,我需要使用reload()来刷新导入,我请求并允许我使用变量,但是它不会重新加载.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'>发布于 2015-09-05 00:29:35
编写完文件对象后,尝试使用文件对象的.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)https://stackoverflow.com/questions/32362526
复制相似问题