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

在VS Code中使用Python读取URL文件遇OSError的解决方法

解决Python读取URL文件时的OSError错误

Python内置的open()函数仅支持读取本地文件路径,无法直接处理HTTP/HTTPS链接,直接传入URL会触发OSError,以下是两种可行的解决方法:

方法一:使用内置的urllib.request模块

无需额外安装依赖,直接用Python标准库实现:

import urllib.request
import re

url = 'https://py4e-data.dr-chuck.net/regex_sum_42.txt'
# 发起请求并读取URL内容
with urllib.request.urlopen(url) as response:
    # 将字节流解码为UTF-8字符串
    content = response.read().decode('utf-8')

# 提取数字并求和(以你的需求为例)
number_list = re.findall(r'\d+', content)
total = sum(int(num) for num in number_list)
print(total)

方法二:使用requests库(更简洁)

requests库提供了更友好的HTTP请求接口,需先安装:

pip install requests

实现代码:

import requests
import re

url = 'https://py4e-data.dr-chuck.net/regex_sum_42.txt'
# 发起GET请求
response = requests.get(url)
# 检查请求是否成功(若失败会抛出异常)
response.raise_for_status()
# 直接获取文本内容
content = response.text

# 数字提取与求和逻辑
number_list = re.findall(r'\d+', content)
total = sum(int(num) for num in number_list)
print(total)

注意事项

  • 确保本地网络可正常访问目标URL
  • 若遇到SSL证书验证失败的问题,可临时添加忽略证书的参数(不推荐生产环境使用):
    • 用urllib时需导入ssl模块,添加context=ssl._create_unverified_context()到urlopen参数中
    • 用requests时添加verify=False到get参数中

内容的提问来源于stack exchange,提问作者Farrukh Israr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 13:07:11