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
相关产品推荐
相关产品推荐

