【问题标题】:In Python3, how can I insert code verbatim into example.py from example2.py, just as if if it were written on example.py?在 Python3 中,如何将代码从 example2.py 逐字插入到 example.py 中,就好像它是写在 example.py 上一样?
【发布时间】:2018-05-08 13:34:33
【问题描述】:

example.py 有一些代码可以根据上面出现的任何音符块(不管有多少)创建一个 MIDI 文件,如下所示:

#Note block
track = 0 
channel = 0 
pitch = 60 
time = 0 
duration = 1 
volume = 100 

如果我在 example2.py 上有一堆这些,我可以在 example.py 上编写什么代码来逐字逐句地显示它们?即,将它们作为变量保留在编写它们的结构中?

提前致谢。

【问题讨论】:

    标签: python python-3.x module midi


    【解决方案1】:

    您可以将example2 导入example。这是首选方式:

    from example2 import track, channel, pitch, ...
    

    如果你有很多,你可以这样做:

    from example2 import *
    

    但上面的很丑,不清楚什么是进口的,什么不是。更好的方法是将笔记保存在一个常量 dict/list 中,为其命名并导入一个包含所有笔记的变量。

    【讨论】:

    • example2.py 中会有几十个或几百个“Note Blocks”一个接一个,每个都有相同的变量。它们都需要在 example.py 中看到。在相同的结构中。
    • 在这种情况下,您可以只做from example2 import * - 这不是最好的方法,但会起作用。我将更新答案以包含另一个用例。
    【解决方案2】:

    我想出了答案。我用过:

    exec(open(".example2.py").read())
    

    它就像一个魅力!

    【讨论】:

      猜你喜欢
      • 2013-01-26
      • 1970-01-01
      • 2021-06-15
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多