首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新加载.py文件而不是.pyc文件?

如何重新加载.py文件而不是.pyc文件?
EN

Stack Overflow用户
提问于 2015-09-02 20:29:50
回答 1查看 453关注 0票数 0

我正在用python编写一个脚本,将代码写到.py文件中的四个变量中(例如,of = 6)。问题是,当我导入它以使用变量,然后为它编写一些代码时,我需要使用reload()来刷新导入,我请求并允许我使用变量,但是它不会重新加载.py文件,它只会重新加载.pyc文件。

下面是一些可以帮助的代码(不太确定它会:/)

我调用一个函数,该函数将数据写入.py文件,然后调用一个函数来重新加载模块,但它最终会重新加载.pyc。

代码语言:javascript
复制
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'>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-05 00:29:35

编写完文件对象后,尝试使用文件对象的.flush()方法。

所以:

代码语言:javascript
复制
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)

请参阅:what exactly the python's file.flush() is doing?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32362526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档