如何在PyScript中从文本文件生成行列表?
在PyScript中实现类似readlines()的文本行列表生成
你当前通过await f.text()获取到的是文件的完整连续字符串,要生成和Python原生file.readlines()效果一致的行列表,只需对获取到的文本字符串调用splitlines()方法即可,该方法能自动识别各类换行符(\n、\r\n、\r等)。
修改后的代码如下:
async def process_file(event): fileList = event.target.files.to_py() for f in fileList: file_content = await f.text() # 分割为行列表,自动适配不同换行符 lines = file_content.splitlines() # 示例操作:遍历输出每一行 for line in lines: print(line)
补充说明
splitlines()生成的列表不会包含换行符,和readlines()去掉换行符的行为一致;- 如果需要保留每行末尾的换行符,可以改用
split('\n'),但需注意文件末尾若有换行,会生成一个空字符串元素,可根据需求通过列表推导式过滤:lines = [line + '\n' for line in file_content.split('\n') if line]; - 该方案完全兼容PyScript的异步文件读取逻辑,无需额外依赖。
内容的提问来源于stack exchange,提问作者Chamara
相关产品推荐
相关产品推荐

