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

Python运行报FileNotFoundError 无法读取同目录下proxylist.csv文件

问题原因
  • Python读取相对路径文件时,默认以终端当前的工作目录为基准查找,不是以脚本文件本身的存储目录为基准。从你的报错日志能看到,你执行脚本时终端的工作路径是C:\Users\andre,而proxylist.csv存放在C:\Users\andre\Desktop\Python dsicord bot目录下,自然找不到文件。
  • 也有可能是文件名拼写错误,比如后缀名实际是.txt被系统隐藏了,或者大小写拼写和实际文件不符。
解决方法

方案1:切换终端工作目录后运行(最简便)

在VS Code终端中先切换到脚本所在目录,再执行脚本:

cd "C:\Users\andre\Desktop\Python dsicord bot"
python link_Beta.py

也可以直接在VS Code的资源管理器里右键对应文件夹,选择「在集成终端中打开」,再运行脚本就不会有路径问题。

方案2:代码中动态拼接绝对路径(推荐,不受运行位置影响)

修改读取文件的代码,先获取当前脚本的所在目录,再拼接csv文件名,完全避免工作目录的影响:

import os
import requests
import random
import csv
import concurrent.futures

# 新增这两行获取脚本所在目录的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__))
csv_path = os.path.join(current_dir, 'proxylist.csv')

proxylist = []
# 改成用拼接好的绝对路径打开文件
with open(csv_path, 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        proxylist.append(row[0])


def extract(proxy):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0'}
    try:
        r = requests.get('https://httpbin.org/ip', headers=headers,
                         proxies={'http': proxy, 'https': proxy}, timeout=2)
        print(r.json(), ' | Works')
    except:
        pass
    return proxy


with concurrent.futures.ThreadPoolExecutor() as executor:
    executor.map(extract, proxylist)

方案3:检查文件名正确性

确认文件夹里的文件确实是proxylist.csv,没有多空格、拼写错误,也没有被系统隐藏文件后缀导致实际文件名是proxylist.csv.txt的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:57:05