<p>我有个简单的问题。</p>
<pre><code>class MyObj:
...
def get_file_name(self):
return "myfile.txt"
some_obj = MyObj()
# Error: Colon expected
with open some_obj.get_file_name() as f:
print("dealing with file ...")
# do something on f
</code></pre>
<p><code>MyObj</code>类有一个名为<code>get_file_name(self)</code>的方法,该方法返回一个文件名字符串。</p>
<p>在打开文件的代码中,我得到编译器错误<strong>需要冒号</strong>。我不知道科隆需要什么。请帮助我为什么我会犯这个错误?</p>
<p>这一行:</p>
<pre><code>with open some_obj.get_file_name() as f:
</code></pre>
<p>应该是:</p>
<pre><code>with open(some_obj.get_file_name()) as f:
</code></pre>
<p>也就是说,<code>open()</code>是一个函数!</p>