[問題] 想詢問有沒有方法在指定行印出

看板Python作者 (理沙)時間4年前 (2021/02/24 00:48), 4年前編輯推噓3(309)
留言12則, 5人參與, 4年前最新討論串1/1
大家安安 我的問題有點奇怪,請見諒QQ 我的問題大概是這樣 因為我有用Threading 每個job都會印出 print(f"({T}) Connecting {id1} ... ", end="\r") print(f"({T}) Searching {id1} ... ", end="\r") print(f"({T}) Downloading {id1} ... ", end="\r") 但是因為我有Threading 所以這些會擠在同一行 如果換行的話會變很亂 (7) Searching ANN22860-RA ... (6) Searching ANN22863-RA ... (15) Downloading ANN22865-RA ... (14) Downloading ANN22859-RA ... (2) Downloading ANN22873-RA ... (19) Downloading ANN24587-RA ... (13) Searching ANN22875-RA ... (17) Downloading ANN22871-RA ... (3) Downloading ANN22861-RA ... (16) Downloading ANN22866-RA ... 像這樣 而且每個Thread的執行時間不太一樣 請問有沒有辦法可以讓 第一個Thread就印在terminal上的第一行 第二個Thread就印在terminal上的第二行 希望是可以印出 terminal上第一行 (1) Connecting {id1} ... terminal上第二行 (2) Searching {id2} ... . (3) Connecting {id3} ... . (4) Downloading {id4} ... . (5) Finish 如果看不懂我的問題的話 我會再努力解釋的!! 先謝謝大家了!! 執行環境: python 3.6 upup linux -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.225.183 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1614098887.A.17C.html ※ 編輯: Risha5566 (106.1.225.183 臺灣), 02/24/2021 00:53:12

02/24 03:33, 4年前 , 1F
你只能自己先把想印的東西用別的東西接起來排好輸出
02/24 03:33, 1F

02/24 03:34, 4年前 , 2F
要有一個輸出專用的thread, 或是反過來去定時讀狀態輸出
02/24 03:34, 2F

02/24 04:08, 4年前 , 3F
curses比較像是你要的 一樣要有輸出專用的daemon thread
02/24 04:08, 3F

02/24 04:17, 4年前 , 4F
pbar = tqdm(T_job_input_list ,desc=f"" , bar_format=
02/24 04:17, 4F

02/24 04:17, 4年前 , 5F
"{desc}", position=T, ncols=80, miniters=1)
02/24 04:17, 5F

02/24 04:17, 4年前 , 6F
for j in pbar:
02/24 04:17, 6F

02/24 04:17, 4年前 , 7F
id1 = connect(j)
02/24 04:17, 7F

02/24 04:17, 4年前 , 8F
pbar.set_description(f"({T}) Connecting {id1}")
02/24 04:17, 8F

02/24 04:17, 4年前 , 9F
search(id1, j)
02/24 04:17, 9F

02/24 04:17, 4年前 , 10F
pbar.set_description(f"({T}) Searching {id1})
02/24 04:17, 10F

02/25 14:29, 4年前 , 11F
獨立thread用sys.stdout.write輸出,用lock讓輸出排序
02/25 14:29, 11F

02/25 16:46, 4年前 , 12F
我也推薦用curses處理
02/25 16:46, 12F
文章代碼(AID): #1WDJ775y (Python)
文章代碼(AID): #1WDJ775y (Python)