泓霁全是问题 发表于 2020-3-24 21:57:40

如何更新两行内容同时不输出新行

import time


x = 0
y = 10
z = x / y
while z <= 1:
      shijian = time.clock()
      print('\r已运行:{:.0f}秒'.format(shijian))
      print('\r已加载:{:.0f}%'.format(z*100), end='')
      x += 1
      z = x / y
      time.sleep(0.5)让程序只输出里面的两行内容,内容在每次循环的时候更新

wp231957 发表于 2020-3-24 22:04:30

曾经用c实现过,用代码模拟回退键
python下没玩过

sunrise085 发表于 2020-3-24 22:07:53

这种程序完成不了你提出的要求
因为这种程序是借助于IDLE中断运行的。
你所说的功能在界面程序中才能实现,通过更新控件的内容达到不停的更新界面上的内容的效果

txxcat 发表于 2020-3-25 00:16:05

一个问题,time.clock()我这儿用不了,python移除了,改成time.time(),第二个问题换了行‘\b'就无效,所以只能在一行显示刷新的效果。
import time
x = 0
y = 10
z = x / y
be=time.time()
while z <= 1:
      shijian = time.time()-be
      a='已运行:{:.0f}秒'.format(shijian) + ' 已加载:{:.0f}%'.format(z*100)
      print(a, end='')
      print('\b'*len(a),end='')
      x += 1
      z = x / y
      time.sleep(0.5)

XiaoPaiShen 发表于 2020-3-25 06:19:23

只能写在一行上才行

import time

x = 0
y = 10
z = x / y
while z <= 1:
      shijian = time.clock()
      # print('\r已运行:{:.0f}秒'.format(shijian), end='')
      # print('\r已加载:{:.0f}%'.format(z*100), end='')
      print('\r已运行:{0:.0f}秒 已加载:{1:.0f}%'.format(shijian, z*100), end='')
      x += 1
      z = x / y
      time.sleep(0.5)
页: [1]
查看完整版本: 如何更新两行内容同时不输出新行