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

Python中是否存在与C语言fgets()等价的文件读取函数?

Python中与C语言fgets()等价的实现方法

Python里有几种方式可以实现类似C语言fgets()的功能,核心是读取文件中的一行(或指定长度的字符)并存储到变量中,具体如下:

  • 文件对象的readline()方法(最接近fgets行为)
    这个方法默认读取整行内容(包含换行符\n),也可以传入参数指定最大读取字节数,和fgets()的逻辑高度匹配:

    # 打开文件,with语句会自动处理文件关闭
    with open("read.txt", "r") as fptr:
        # 最多读取100个字符,对应你C代码中的参数
        char_var = fptr.readline(100)
    

    行为细节和fgets()一致:如果当前行的字符数超过100,就读取前100个;如果行长度不足100,就读取整行(含换行符);如果已到文件末尾,返回空字符串。

  • read()方法(固定长度读取)
    如果你不需要按行读取,只是想读取固定长度的字符,可以用read(n),但它不会识别换行符,会直接读取n个字节:

    with open("read.txt", "r") as fptr:
        char_var = fptr.read(100)
    

    这种方式适合无需按行分割的场景,但和fgets()的行读取逻辑不同。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 04:01:27