擅长:python、mysql、java
<p>这是因为python导入的工作方式与您想象的不一样。它们是这样工作的:</p>
<ul>
<li>导入机制查找应该是从导入请求的模块的文件</li>
<li>创建一个<code>types.ModuleType</code>实例,将其上的几个属性设置为相应的文件(<code>__file__</code>,<code>__name__</code>等等),然后将该对象插入到<code>sys.modules</code>中,并使用它应该具有的完全限定的模块名。在</li>
<li>如果这是子模块导入(即,标准件.py它是SDDSPython中的子模块),新创建的模块作为属性附加到父包的现有python模块。在</li>
<li>该文件以该模块作为其全局作用域“执行”;该文件定义的所有名称都作为该模块的属性显示。在</li>
<li>在<code>from</code>导入的情况下,模块中的属性可以返回到导入脚本。在</li>
</ul>
<p>所以这意味着如果我导入一个模块(比如,<code>foo.py</code>),该模块只有:</p>
<pre><code>import bar
</code></pre>
<p>然后在foo中有一个全局名为<code>bar</code>,我可以以<code>foo.bar</code>的形式访问它。在</p>
<p>python中没有“只执行我现在要使用的python脚本的一部分”的功能。在</p>