擅长:python、mysql、java
<p>文件操作被阻止。没有非阻塞模式。在</p>
<p>但是你可以创建一个线程在后台读取文件。在python3中,<a href="https://docs.python.org/3.4/library/concurrent.futures.html#module-concurrent.futures" rel="noreferrer">^{<cd1>} module</a>在这里很有用。在</p>
<pre><code>from concurrent.futures import ThreadPoolExecutor
def read_file(filename):
with open(filename, 'rb') as f:
return f.read()
executor = concurrent.futures.ThreadPoolExecutor(1)
future_file = executor.submit(read_file, 'C:\\Temp\\mocky.py')
# continue with other work
# later:
if future_file.done():
file_contents = future_file.result()
</code></pre>
<p>或者,如果需要在操作完成时调用回调:</p>
^{pr2}$