首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python文件Slurp

Python文件Slurp
EN

Stack Overflow用户
提问于 2009-10-28 00:08:07
回答 2查看 20K关注 0票数 45

在Python中是否有一个一行程序来读取文件的所有行,而不是标准的:

代码语言:javascript
复制
f = open('x.txt')
cts = f.read()
f.close()

看起来这是经常发生的事情,所以总得有一个一行。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2019-11-19 21:36:41

Starting in Python 3.5,您可以使用pathlib模块来实现更现代的界面。作为Python 3,它区分了读取文本和读取字节:

代码语言:javascript
复制
from pathlib import Path

text_string = Path('x.txt').read_text()  # type: str

byte_string = Path('x.txt').read_bytes()  # type: bytes
票数 6
EN

Stack Overflow用户

发布于 2013-09-24 17:25:29

如果您使用的是Python3,请确保正确尊重文件的输入编码,例如:

代码语言:javascript
复制
import codecs
with codecs.open(filename, 'r', encoding="utf8") as file:
    cts = file.read()

Python3 codec list中查找编解码器名称列表。(当您期望任何非ASCII码输入时,该机制对于Python2也是可取的)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1631897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档