擅长:python、mysql、java
<p>对于Windows上的单行,可以执行<code>sys.stdout.write()</code>操作,然后编写光标移动<code>'\b'</code>将光标移回行的开头。在</p>
<p>在同一行上具有%progress指示符的复制文件函数的示例,使用此方法:</p>
<pre><code>import os
import sys
def copy_progress(source_file, dest):
source_size = os.stat(source_file).st_size
copied = 0
source = open(source_file, 'rb')
target = open(dest, 'wb')
print ('Copy Source: ' + source_file)
print ('Copy Target: ' + dest)
print ('Progress:')
while True:
chunk = source.read(512)
if not chunk:
break
target.write(chunk)
copied += len(chunk)
progress = round(copied * 100 / source_size)
my_progress = str(progress).ljust(5)
sys.stdout.write (my_progress + '%\b\b\b\b\b\b')
sys.stdout.flush()
sys.stdout.flush()
source.close()
target.close()
</code></pre>