由于Python中的\ r无法从文件中检索正确的数据

Sufiyan Ghori |

您好,我无法写入文件,然后从文件中读取确切的数据。

我正在做的是先将转换liststring,然后将其写入文件

S = [63, 16, 13, 30, 22, 13, 99, 68, 75, 91, 73, 80, 90]

现在,如果我将其转换为字符串,

UpdatedPlainText = ''.join(chr(s) for s in S)

print("This is the Data:", UpdatedPlainText)

由于存在两个原始int值,等于13List\r

输出:

cDK[IPZ the Data: ?►

我知道这只是像这样显示,但原始数据仍然存在。

可以使用此方法检索数据,这里数据在打印之前先转换为整数,

L = list(ord(s) for s in UpdatedPlainText)
print(L)

输出:

[63, 16, 13, 30, 22, 13, 99, 68, 75, 91, 73, 80, 90]

但是,与其直接将数据integer从from转换回来String,如果我先将UpdatedPlainTextin的值写入文件,

PlainText = open('uText.txt', 'w')
PlainText.write(UpdatedPlainText)
PlainText.close()

然后read这个文件,

PlainText = open('uText.txt', 'r')
PlainText = PlainText.read() 

然后从文件中打印数据,

L = list(ord(s) for s in PlainText)
print(L)

输出会有所不同,

[63, 16, 10, 30, 22, 10, 99, 68, 75, 91, 73, 80, 90]

如您所见,该值13被替换为10,这是由于\r等于13

我该如何解决这个问题?我如何防止13转换成\r

牛仔赛

在python文档上它说:

Windows上的Python区分文本文件和二进制文件。读取或写入数据时,文本文件中的行尾字符会自动更改。

您正在尝试检索与文本不同的数据,因此可以选择使用二进制模式(请参见上面的答案。文档继续进行:

这种对文件数据的幕后修改对于ASCII文本文件而言是很好的选择,但它会破坏JPEG或EXE文件中的二进制数据。在读写此类文件时,请务必小心使用二进制模式。在Unix上,将'b'附加到该模式没有什么坏处,因此您可以独立于平台使用它来处理所有二进制文件。

就像您的情况一样,默认模式是更改数据。因此,如果出于某种原因默认要使用读写选项,则可以在将字符串写入文件之前尝试对其进行编码。

PlainText.encode('base64','strict')

并在读取后解码

PlainText.decode('base64','strict')

太多的工作,但这只是另一种选择。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法正确读取txt文件中的数据

来自分类Dev

由于文件名中的“ /”,Python文件写入错误

来自分类Dev

由于Angular JS中的异步数据检索,饼图未显示正确的值

来自分类Dev

无法从捆绑中检索数据

来自分类Dev

无法从订阅中检索数据

来自分类Dev

无法从 DynamoDB 数据库中为 Alexa 技能正确检索读取的 JSON 数据

来自分类Dev

在PHP中检索的图像无法正确显示

来自分类Dev

无法使用Gob将数据正确存储在文件中

来自分类Dev

由于名称中的&而无法移动文件

来自分类Dev

由于解码错误,无法使用Python从.txt文件中读取行

来自分类Dev

从php中的sessionStorage检索数据的正确方法

来自分类Dev

如何从 Kotlin 中的 SearchView 正确检索数据?

来自分类Dev

如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

来自分类Dev

由于HTTP发布中的日期和时间,Python代码失败

来自分类Dev

如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

来自分类Dev

由于条目,Python 未在 Label 中定义字符串

来自分类Dev

无法从数据库中检索数据

来自分类Dev

由于iOS上的错误,无法从Parse中检索对象

来自分类Dev

无法使用Python从视频文件中获取正确的Exif数据

来自分类Dev

由于 . 在spark的列名中

来自分类Dev

无法从并行Ajax调用中检索数据

来自分类Dev

无法从对象数组中检索数据?

来自分类Dev

Angular:组件无法从服务中检索数据

来自分类Dev

在Angular 7中无法从Firebase检索数据

来自分类Dev

Edittext无法在Android中检索数据

来自分类Dev

无法从C#中的SqlDataReader检索数据

来自分类Dev

无法从JSON检索表中的数据

来自分类Dev

无法在TextView中检索Firebase数据

来自分类Dev

无法在 SQL 查询中检索新数据

Related 相关文章

  1. 1

    无法正确读取txt文件中的数据

  2. 2

    由于文件名中的“ /”,Python文件写入错误

  3. 3

    由于Angular JS中的异步数据检索,饼图未显示正确的值

  4. 4

    无法从捆绑中检索数据

  5. 5

    无法从订阅中检索数据

  6. 6

    无法从 DynamoDB 数据库中为 Alexa 技能正确检索读取的 JSON 数据

  7. 7

    在PHP中检索的图像无法正确显示

  8. 8

    无法使用Gob将数据正确存储在文件中

  9. 9

    由于名称中的&而无法移动文件

  10. 10

    由于解码错误,无法使用Python从.txt文件中读取行

  11. 11

    从php中的sessionStorage检索数据的正确方法

  12. 12

    如何从 Kotlin 中的 SearchView 正确检索数据?

  13. 13

    如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

  14. 14

    由于HTTP发布中的日期和时间,Python代码失败

  15. 15

    如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

  16. 16

    由于条目,Python 未在 Label 中定义字符串

  17. 17

    无法从数据库中检索数据

  18. 18

    由于iOS上的错误,无法从Parse中检索对象

  19. 19

    无法使用Python从视频文件中获取正确的Exif数据

  20. 20

    由于 . 在spark的列名中

  21. 21

    无法从并行Ajax调用中检索数据

  22. 22

    无法从对象数组中检索数据?

  23. 23

    Angular:组件无法从服务中检索数据

  24. 24

    在Angular 7中无法从Firebase检索数据

  25. 25

    Edittext无法在Android中检索数据

  26. 26

    无法从C#中的SqlDataReader检索数据

  27. 27

    无法从JSON检索表中的数据

  28. 28

    无法在TextView中检索Firebase数据

  29. 29

    无法在 SQL 查询中检索新数据

热门标签

归档