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

Python如何读取txt内路径批量提取文件内容推送至Telegram

实现方案

你现有代码仅完成了路径清单文件的读取,缺少逐行拆分路径、逐个读取目标文件、对接Telegram接口发送内容的逻辑,按以下逻辑补全即可:

  • 读取路径清单文件时按行拆分,自动过滤空行、去除每行首尾的换行符和空白字符
  • 遍历每个有效文件路径,读取对应文件内容,增加异常捕获避免单个文件读取失败导致整个脚本崩溃
  • 拼接所有文件的读取结果,调用Telegram机器人接口发送汇总内容

完整可运行代码

使用前先替换代码里的两个配置项为你自己的实际参数:

  • YOUR_TELEGRAM_BOT_TOKEN:你的Telegram机器人Token
  • YOUR_CHAT_ID:接收消息的用户/群组/频道ID
import requests

# 基础配置
PATH_LIST_FILE = "/home/admin/files/myfiles.txt"
TG_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN"
TG_CHAT_ID = "YOUR_CHAT_ID"

def collect_all_file_content(path_list_file):
    content_collector = []
    # 读取存了所有目标路径的清单文件
    with open(path_list_file, 'r', encoding='utf-8') as f:
        raw_paths = f.readlines()

    for raw_path in raw_paths:
        file_path = raw_path.strip()
        # 跳过空行
        if not file_path:
            continue
        try:
            with open(file_path, 'r', encoding='utf-8') as target_file:
                file_content = target_file.read()
            content_collector.append(f"===== 文件路径:{file_path} =====\n{file_content}\n")
        except Exception as e:
            content_collector.append(f"===== 文件路径:{file_path} 读取失败,错误信息:{str(e)} =====\n")
    
    return "\n".join(content_collector)

def send_msg_to_telegram(msg_text):
    request_url = f"https://api.telegram.org/bot{TG_BOT_TOKEN}/sendMessage"
    request_data = {
        "chat_id": TG_CHAT_ID,
        "text": msg_text
    }
    response = requests.post(request_url, data=request_data)
    response.raise_for_status()

if __name__ == "__main__":
    total_content = collect_all_file_content(PATH_LIST_FILE)
    if total_content.strip():
        send_msg_to_telegram(total_content)
    else:
        print("未读取到任何有效文件内容")

补充说明

  • 你的myfiles.txt无需调整格式,每行写一个目标文件绝对路径即可,脚本会自动忽略空行
  • 单个文件读取失败(比如路径错误、权限不足)不会中断脚本运行,错误提示会一并汇总到发送的消息里方便排查
  • 如果汇总后的内容长度超过Telegram单条消息4096字符的限制,可以在发送逻辑中增加内容切片分条发送的处理,常规小文件场景下上述代码可直接使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 19:01:18