You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用urllib读取本地TXT文件?遇unknown url type: c错误求解

问题分析与解决办法

你遇到的这个错误很典型——urllib.request.urlopen()是用来访问网络URL的,不是读取本地文件的!你把本地文件路径传给它,它会把C:\当成一种未知的URL协议(只有http/https这类协议是它能识别的),所以抛出了unknown url type: c的错误。

正确的实现思路分两步:

  1. 用Python内置的open()函数读取本地的urlsDow.txt文件,提取里面的每一行URL。
  2. 对每一行的URL(记得清理掉换行符和空格),再用urlopen()发起网络请求。

修正后的代码示例:

import urllib.request

# 第一步:读取本地文件中的URL列表
file_path = r"C:\Users\diese\OneDrive\Documentos\GitHub\MCPP_diego_ramirez\Proyectof\urlsDow.txt"
with open(file_path, 'r') as file:
    # 过滤空行并去掉每行的换行符
    urls = [line.strip() for line in file if line.strip()]

# 第二步:遍历每个URL并发起请求
for url in urls:
    try:
        response = urllib.request.urlopen(url)
        # 可根据需求处理响应,比如打印状态码或内容
        print(f"访问成功:{url},状态码:{response.getcode()}")
        # 若需读取响应内容:content = response.read()
    except urllib.error.URLError as e:
        print(f"访问失败:{url},错误信息:{e}")

额外优化提示:

  • 用with open()的方式能自动关闭文件,避免资源泄漏。
  • 加入try-except块可以单独捕获单个URL的访问错误,不会因为某一个URL出问题就中断整个程序。
  • 过滤空行的操作(if line.strip())能避免尝试访问空字符串导致的额外错误。

内容的提问来源于stack exchange,提问作者Sebastián Ramírez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:25:39