小编Cig*_*acs的帖子

使用 Python3 以 ASCII 格式写入文件,而不是 UTF8

我有一个由两个部分创建的程序。

\n\n

第一个以这种格式复制一个文件名中间有一个整数的文本文件。

\n\n
file = "Filename" + "str(int)" + ".txt" \n
Run Code Online (Sandbox Code Playgroud)\n\n

用户可以创建任意数量的文件副本。

\n\n

该程序的第二部分是我遇到的问题。文件的最底部有一个整数,与文件名中的整数相对应。第一部分完成后,我以读/写格式一次打开每个文件"r+"。这样我就可以file.seek(1000)知道整数在文件中的位置。

\n\n

现在我认为下一部分应该很容易。我只需要将 str(int) 写入此处的文件即可。但这并不那么容易。在家里的 Linux 中这样做效果很好,但在 Windows 上工作却很困难。我最终要做的file.seek(1000)就是使用 Unicode UTF-8 写入文件。我用程序其余部分的代码片段完成了这一点。我会将其记录下来,以便能够理解正在发生的事情。我希望能够用老式的常规英文 ASCII 字符来编写,而不是用 Unicode 来编写。最终这个程序将被扩展以在每个文件的底部包含更多的数据。必须以 Unicode 格式写入数据将使事情变得极其困难。如果我只是写入数据而不将其转换为 Unicode,这就是结果。该字符串应该说#2 =1534,但它说#2 =\xe3\x84\xa0\xe3\x8c\xb5433.

\n\n

如果有人可以告诉我我做错了什么,那就太好了。我希望只使用类似file.write(\'1534\')将数据写入文件的方法,而不必使用 Unicode UTF-8 进行操作。

\n\n
while a1 < d1 :\n    file = "file" + str(a1) + ".par"\n    f = open(file, "r+")\n    f.seek(1011)\n    data = f.read()  #reads the data from that point in …
Run Code Online (Sandbox Code Playgroud)

unicode utf-8 python-3.x

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

python-3.x ×1

unicode ×1

utf-8 ×1