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

Python2无法读取当前目录下dates.txt文件问题求助

文件存在但Python函数提示找不到的排查思路

问题场景

当前工作目录文件列表:

[jzun@hscd8a25e93f9vm dates]$ pwd
/home/jzun/vivo_mod_samples/dates
[jzun@hscd8a25e93f9vm dates]$ ls
date_def.json  dates_add.rdf  dates.bak  dates.rdf  dates_sub.rdf  dates.txt      datetime_precision_enum.txt  gen_date_rdf.py  gen_date_rdf.py.bak  gen_dates.py  gen_dates.py.bak  get.txt  README.md  run_pump_2_to_create_date_defs.sh  sv.cfg

使用的Python2函数:

def read_csv(filename, skip=True, delimiter='|'):
    """
    Read a CSV file, return dictionary object
    :param filename: name of file to read
    :param skip: should lines with invalid number of columns be skipped?  False=Throw Exception
    :param delimiter: The delimiter for CSV files
    :return: Dictionary object
    """
    cwd = os.getcwd()

    print("read_csv>current dir = " + cwd)

    with open(filename, 'rU') as fp:
        data = read_csv_fp(fp, skip, delimiter)
        fp.close()
    
    return data

调用read_csv("dates.txt")时的错误输出:

read_csv>current dir = /home/jzun/vivo_mod_samples/dates
dates.txt file not found

排查思路

  • 验证实际访问路径:在函数中添加print("实际访问路径:", os.path.abspath(filename)),打印出要打开文件的绝对路径,确认是否与存在的dates.txt路径完全一致。
  • 检查文件权限:执行ls -l dates.txt查看文件权限,确保运行Python脚本的用户拥有读取权限(权限位需包含r,如-rw-r--r--)。
  • 排查文件名隐藏字符:用ls -b dates.txt查看文件名的原始编码,确认没有空格、换行或不可见特殊字符导致文件名不匹配。
  • 确认参数传递正确性:检查调用read_csv时传入的filename参数,是否存在大小写错误(Linux区分大小写)、多余空格或路径拼写问题。
  • 检查read_csv_fp函数逻辑:错误提示可能来自read_csv_fp而非open语句,需确认该函数内部是否有额外文件操作,或错误处理逻辑误判为文件不存在。
  • 尝试修改文件打开模式:将open的rU模式替换为普通r模式,排查通用换行符模式在特定文件系统下的兼容性问题。

内容的提问来源于stack exchange,提问作者Jose Cabrera Zuniga

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 15:25:17