Python逐字符串读取文件的实现代码咨询
Python逐字符串读取文件的几种方法
如果要把文件里的内容拆成单个单词(比如你例子里的"Hi"、"My"),有几种实用的方法,根据文件大小和需求选就行:
方法一:一次性读取后分割(适合小文件)
先把整个文件内容读入内存,再用split()按空白符分割成单词列表。split()默认会处理空格、换行、制表符等所有空白,正好符合你的需求:
with open('your_file.txt', 'r') as file: # 读取全部内容 content = file.read() # 分割成单词列表 words = content.split() # 遍历每个单词 for word in words: print(word)
用with语句会自动帮你关闭文件,不用手动写file.close(),更安全。
方法二:逐行读取再分割(适合中等大小文件)
如果文件太大,一次性读入内存占资源,可以逐行读取,每行分割后处理:
with open('your_file.txt', 'r') as file: # 逐行遍历文件 for line in file: # 先去掉每行首尾的空白(比如换行符),再分割 words = line.strip().split() for word in words: print(word)
方法三:生成器逐词读取(适合超大文件)
如果文件特别大,想尽量节省内存,可以用生成器每次返回一个单词,不会一次性加载所有内容:
def read_words(file_path): with open(file_path, 'r') as file: for line in file: # 逐个返回每行的单词 yield from line.strip().split() # 使用生成器遍历单词 for word in read_words('your_file.txt'): print(word)
补充说明
如果你的文件里单词不是用空白分隔,而是逗号、分号这类符号,可以给split()传参数,比如split(',')就会按逗号分割。
内容的提问来源于stack exchange,提问作者William Lin
相关产品推荐
相关产品推荐

