You need to enable JavaScript to run this app. Python如何获取文件首尾字符、拷贝文件及解决FileNotFoundError报错
优惠活动
大模型
产品
解决方案
定价
更多

Python如何获取文件首尾字符、拷贝文件及解决FileNotFoundError报错

报错原因分析
  • 文件名/路径匹配错误:Python读取相对路径文件时,默认以脚本运行时的工作目录为基准查找文件,报错提示文件不存在,本质是传入的文件名拼写有误、文件没有放在当前工作目录下,或是你实际运行的代码里存在动态生成文件名的逻辑错误(你贴出的测试代码调用print_content('cure737.txt'),但报错提示的是找不到hjac737(my username).txt,二者文件名不匹配,可优先检查这部分逻辑)。
  • 现有代码逻辑缺陷:你写的input_file.close()在return语句之后,永远不会被执行,会导致文件资源泄漏;如果读取的文件为空,直接取content[0]/content[-1]会触发索引越界报错;此外你的代码完全没有实现文件拷贝的写入逻辑。
正确实现方案

推荐使用with上下文管理器处理文件操作,会自动完成文件关闭,无需手动调用close,避免资源泄漏问题:

def copy_file(input_filename, output_filename):
    # 读取输入文件内容
    with open(input_filename, 'r', encoding='utf-8') as input_f:
        content = input_f.read()
    # 实现文件拷贝:将内容写入输出文件
    with open(output_filename, 'w', encoding='utf-8') as output_f:
        output_f.write(content)
    # 处理空文件的边界场景,避免索引报错
    if not content:
        return ""
    # 返回首尾字符
    return content[0] + content[-1]

# 打印文件内容的实现示例
def print_content(filename):
    with open(filename, 'r', encoding='utf-8') as f:
        print(f.read())

测试代码示例:

# 可传入绝对路径避免找不到文件的问题,比如Windows下r"C:\Users\xxx\Desktop\FreeAdvice.txt"
input_f = "FreeAdvice.txt"
output_f = "cure737.txt"
first_last_chars = copy_file(input_f, output_f)
print(first_last_chars)
print_content(output_f)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 04:45:07