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

如何使用Python读取公共远程服务器上的文件且无需下载?

解决方案

open()函数仅支持读取本地文件系统路径,无法直接解析HTTP协议的URL,因此会抛出文件不存在的错误。你可以采用以下几种方案直接读取线上TSV文件内容,所有方案均将内容加载到内存,不会写入本地磁盘:

方案1:使用pandas直接读取(数据处理场景首选)

如果你的场景需要处理结构化TSV数据,pandas原生支持从URL加载文件,代码最简洁:

import pandas as pd

tsv_url = "http://afakesite.org/myfile.tsv"
# sep指定为制表符,和读取本地TSV的参数完全一致
df = pd.read_csv(tsv_url, sep="\t", encoding="utf-8")

colab等常用在线运行环境默认已安装pandas,无需额外安装依赖。

方案2:使用requests库读取(通用场景)

如果只需要逐行读取原始文本内容,用requests发送HTTP请求即可:

import requests

tsv_url = "http://afakesite.org/myfile.tsv"
response = requests.get(tsv_url)
# 校验请求是否成功
response.raise_for_status()
# 直接获取解码后的文本内容
tsv_text = response.text

# 逐行处理示例
for line in tsv_text.splitlines():
    row = line.split("\t")
    # 后续自定义处理逻辑

如果站点有反爬限制,可在请求中添加User-Agent模拟浏览器访问:

response = requests.get(tsv_url, headers={
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
})

方案3:使用Python标准库urllib(无需安装第三方依赖)

如果运行环境不允许安装第三方库,可以用内置的urllib实现:

from urllib.request import urlopen

tsv_url = "http://afakesite.org/myfile.tsv"
with urlopen(tsv_url) as f:
    tsv_text = f.read().decode("utf-8")
    # 后续处理逻辑和方案2一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 15:24:03