python 换行符的识别问题,Unix 和Windows 中是不一样的

摘要:
在Unix和Windows中,换行符的识别是不同的。默认情况下,Python以统一模式处理换行。在这种模式下,当读取文本时,Python可以识别所有普通的换行符并将它们转换为单个nn字符。如果您不想使用此默认处理方法,可以将参数newline=“”传递给open()函数,如下所示:#Readwithdisablednewlinetranslationwithopenasf:…为了解释两者之间的区别,我将在Unix机器上的Windows上读取一个文本文件,其中包含helloworld!

关于换行符的识别问题,在Unix 和Windows 中是不一样的(分别是n 和rn)。默认情况下,Python 会以统一模式处理换行符。这种模式下,在读取文本的时候,Python 可以识别所有的普通换行符并将其转换为单个nn 字符。类似的,在输出时会将换行符nn 转换为系统默认的换行符。如果你不希望这种默认的处理方式,可以给open() 函数传入参数newline='' ,就像下面这样:
# Read with disabled newline translation
with open('somefile.txt', 'rt', newline='') as f:
...
为了说明两者之间的差异,下面我在Unix 机器上面读取一个Windows 上面的文本文件,里面的内容是hello world! :

>>> # Newline translation enabled (the default)
>>> f = open('hello.txt', 'rt')
>>> f.read()
'hello world!
>>> # Newline translation disabled
>>> g = open('hello.txt', 'rt', newline='')
>>> g.read()
'hello world!
''

免责声明:文章转载自《python 换行符的识别问题,Unix 和Windows 中是不一样的》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Robot Framework自动化测试入门DataX 整合后重新编译打包下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python 异步编程

介绍几种Python异步执行的方式 参考: 官方文档 python 实现异步执行 Python中协程异步IO 通过 threading.Thread 实现 先将需要异步执行的函数用线程的方式包装为一个装饰器,然后拿去装饰需要异步执行的函数即可。 下面构造两个函数 from threading import Thread from time import...

python的if判断&两重判断

# python的if判断&两重判断# python编程中if语句用于控制程序的执行 基本形式为:#if 判断条件: # 执行语句...# else: # 执行语句...#其中“判断条件”成立时(非零),则执行后面的语句,而执行的内容可以多行。以缩进来区分同一范围# else为可选语句 在判断条件不成立时执行相关的语句# python程...

Python的路径引用

1、以HOME目录为准,进行跳转 sys.path.append(os.path.dirname(__file__) + os.sep + '../') from config import swordfishconf from utils import log from utils.mysql_base import MySQLBase 将程序的HO...

pyhanlp安装教程

1、hanlp简介 HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。 Hanlp具有以下功能: 中文分词 词性标注 命名实体识别 依存句法分析 关键词提取新词发现 短语提取 自动摘要 文本分类 拼音简繁 2、hanlp安装 第一步:han...

Python中的MySQL接口:PyMySQL & MySQLdb

MySQLdb模块只支持MySQL-3.23到5.5之间的版本,只支持Python-2.4到2.7之间的版本 PyMySQL支持 Python3.0以后的版本 PyMySQL https://pypi.python.org/pypi/PyMySQL https://github.com/PyMySQL/PyMySQL/blob/master/README...

python 图像处理(4):图像的绘制

实际上前面我们就已经用到了图像的绘制,如: io.imshow(img)   这一行代码的实质是利用matplotlib包对图片进行绘制,绘制成功后,返回一个matplotlib类型的数据。因此,我们也可以这样写: import matplotlib.pyplot as plt plt.imshow(img) imshow()函数格式为: matplot...