我为我开发的python应用程序构建了一个进度栏。预计将看起来像以下内容:
[██████████████ ] 70%
在本地终端和用我的机器构建的码头容器中运行时,这正常工作。但是,它在GitLab共享跑步者中跑步时并不如预期的那样显示。它没有获得到目前为止显示进度的一行,而是显示多行。
之类的东西 [█████████████ ] 68%
[█████████████ ] 68%
[█████████████ ] 68%
[█████████████ ] 68%
[█████████████ ] 69%
[█████████████ ] 69%
[█████████████ ] 69%
[█████████████ ] 69%
[█████████████ ] 69%
[██████████████ ] 70%
[██████████████ ] 70%
为了了解可能的原因,我试图找出共享跑步者容器的终端属性。因此,我在下面执行了命令,所有这些都返回错误。因此需要帮助解决问题。
$ stty size
stty: 'standard input': Inappropriate ioctl for device
$ tput cols
tput: No value for $TERM and no -T specified
我的gitlab-ci.yml文件看起来像
run-project:
image: python:3.6
script:
- stty size
- python3 Test.py
以下是我用来显示进度栏的示例代码:
import sys
i = 1
sys.stdout.write('Start')
for k in range(100000):
i += 1
sys.stdout.write('r')
j = (i/100000)
sys.stdout.write("[%-20s] %d%%" % ('█'*int(20*j), int(100*j)))
我想要的是看到一行显示任务进度的行,而不是终端显示数百行,到目前为止显示每条显示进度(这是我使用马车返回运算符的意图(
现在在gitlab和马车返回操作员工作中解决了这一点!
任务状态:
[████████████████████] 100%