一、功能
运行脚本后,它会:
自动选择最佳测速服务器
测试下载速度
测试上传速度
测试 ping 值
将结果显示在控制台
将结果保存到 speed_test_results.txt 文件中
二、注意事项
测试过程可能需要几分钟时间
测试结果会受到当前网络环境的影响
建议在网络空闲时进行测试
确保有足够的网络权限来进行速度测试
三、准备工作
安装库:pip install speedtest-cli
四、完整代码
import speedtest
import time
from datetime import datetime
def test_speed():
# 创建 Speedtest 对象
print("正在初始化速度测试...")
st = speedtest.Speedtest()
# 获取最佳服务器
print("正在选择最佳服务器...")
st.get_best_server()
# 测试下载速度
print("正在测试下载速度...")
download_speed = st.download() / 1_000_000 # 转换为 Mbps
# 测试上传速度
print("正在测试上传速度...")
upload_speed = st.upload() / 1_000_000 # 转换为 Mbps
# 获取 ping 值
ping = st.results.ping
return download_speed, upload_speed, ping
def main():
try:
# 获取当前时间
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(f"\n开始测试时间: {current_time}")
# 开始测试
start_time = time.time()
download_speed, upload_speed, ping = test_speed()
end_time = time.time()
# 打印结果
print("\n测试结果:")
print(f"下载速度: {download_speed:.2f} Mbps")
print(f"上传速度: {upload_speed:.2f} Mbps")
print(f"Ping: {ping:.2f} ms")
print(f"测试用时: {end_time - start_time:.2f} 秒")
# 将结果保存到文件
with open('speed_test_results.txt', 'a') as f:
f.write(f"\n测试时间: {current_time}\n")
f.write(f"下载速度: {download_speed:.2f} Mbps\n")
f.write(f"上传速度: {upload_speed:.2f} Mbps\n")
f.write(f"Ping: {ping:.2f} ms\n")
f.write("-" * 50)
except Exception as e:
print(f"测试过程中出现错误: {str(e)}")
if __name__ == "__main__":
main()