Python 3 在同一行打印 try 语句的输出,我正在尝试学习线程

标签 python python-3.x

import os
import time
import threading
import urllib.request

def message(msg):
    print(time.strftime('[%H:%M:%S]'), msg)


def check(proxy):
    proxy_support = urllib.request.ProxyHandler({'https':proxy})
    opener = urllib.request.build_opener(proxy_support)
    urllib.request.install_opener(opener)
    message("Trying => "+proxy)
    try:
        urllib.request.urlopen("https://www.google.com", timeout=5)
        print("Working")
        with open("CheckedProxies.txt", "a") as appe:
            appe.write(proxy.replace("\n","") + "\n")
    except:
        print("Not Working")
        pass

try:
    proxies = open("/home/zion/Desktop/proxies.txt", "r").readlines()
except:
    message("File Empty Exiting!")
    exit()

if proxies == "":
    print("File Empty, Enter Proxies")

newtxt = open("CheckedProxies.txt","w")
message("~ Loading "+ str(len(proxies)) +" Proxies!")
time.sleep(1)
for proxy in proxies:
    check(proxy)
os.exit(CTRL-C)
message("Done Checking Proxies!")

我正在尝试将“不工作”打印在与尝试代理相同的行上......我当前的输出是:

[23:20:51] ~ Loading 1598 Proxies!

[23:20:52] Trying => 1.0.135.34:8080

Not Working [23:20:53] Trying => 1.10.236.214:8080

Not Working [23:20:53] Trying => 103.122.255.18:8080

我正在尝试让它像这样打印

[23:20:53] Trying => 127.0.0.1:8080 Not Working!

我尝试过“打印(“不工作”,end='')” 但打印出来是这样的``

Not Working[23:07:30] Trying => 1.10.236.214:8080

我不知道如何在尝试和代理后打印“不工作”......

我也在尝试学习如何使用线程模块,但遇到了麻烦...... 我希望我的程序打开多个线程来测试我的代理...提前感谢您的帮助。

最佳答案

关于线程,最好的方法是使用多处理池。

from multiprocessing import Pool

然后代替:

for proxy in proxies:
    check(proxy)

用途:

p=Pool(5)
p.map(check,proxies)

为了将它们全部放在一行上,我会将输出添加到一个字符串中,然后在函数末尾将其打印出来。

关于Python 3 在同一行打印 try 语句的输出,我正在尝试学习线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59135693/

相关文章:

python - executor.map 和 non-terating 参数

python-3.x - 如何在与 libtorrent/Python 的 session 中设置事件下载

python - Alembic SqlAlchemy Postgres "NameError: name ' 字符串'未定义“试图添加数组(字符串)字段

python - 如何处理 f 字符串中的错误?

python - 实例化对象并使用类定义 __init__

python - 你能在 Python 的核心类型上修改补丁方法吗?

python - 使用 pydbus 库通过 session 总线发送信号

python - Keras 一个操作在 train_on_batch 时对梯度有 None

Python - 使用 alpha channel 在子图中使用 matplotlib 叠加 2 个图

python - 在 python,openCV 中使用网络摄像头的问题