gpt4 book ai didi

python - 将脚本升级到 Python 3 -\r\n & 文本二进制模式

转载 作者:行者123 更新时间:2023-11-28 17:05:58 24 4
gpt4 key购买 nike

真的在为一些本应非常基本的事情而苦苦挣扎。我正在寻找识别\n 没有互惠\r 的实例(即\r\n 是好的 x\n 是坏的并且 would )。

我很欣赏这是因为 python 2 以不同方式管理“rb”,但无法计算出在 python 3 中识别\r 的等效函数或方法。

import re
import sys
import time
with open('4 - raw.txt', 'rb') as content_file:
content = content_file.read()

newLinePos = [m.start() for m in re.finditer('\n', content)]

for line in newLinePos:
if (content[line-1]) != '\r':
print (repr(content[line-20:line]))

print ("end")
time.sleep(1000)

最佳答案

Python 3 明确区分了原始字节字符串和 utf-8 字符串。 content[line-1] 正在返回一个数字,可能是 0-255 - 字节,而您正试图将它与字符串 '\r' 匹配。我同意可能会进行转换,但 Python 是强类型的,因此无论整数代表什么字符,这总是会失败。要获取与 \r 对应的 byte 编号,请使用:

(content[line-1]) != ord('\r')

并类似地为迭代器生成使用字节字符串:

newLinePos = [m.start() for m in re.finditer(b'\n', content)]

关于python - 将脚本升级到 Python 3 -\r\n & 文本二进制模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50979321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com