Python 将文本文件读入变量,后续的print()将返回转义字符?

Python 将文本文件读入变量,后续的print()将返回转义字符?,python,string,unicode,utf-16,Python,String,Unicode,Utf 16,我一直在找这个,但没有结果。我有一个代码片段,我想将一个文本文件读入python中的一个变量,以便以后可以引用它(特别是为了终止正在运行的进程) 生成的文件如下所示: os.system('wmic process where^(类似于“pythonw%pycpoint%”的命令行)获取ProcessID>windowsPID.txt') 生成的文本文件windowsPID.txt如下所示: ProcessId 4076 读取文件的python代码段如下所示: 以open('windowsPID

我一直在找这个,但没有结果。我有一个代码片段,我想将一个文本文件读入python中的一个变量,以便以后可以引用它(特别是为了终止正在运行的进程)

生成的文件如下所示:

os.system('wmic process where^(类似于“pythonw%pycpoint%”的命令行)获取ProcessID>windowsPID.txt')

生成的文本文件
windowsPID.txt
如下所示:

ProcessId
4076

读取文件的python代码段如下所示:

以open('windowsPID.txt')作为f的
:
打印“在BuildLaunch中,我的PID为:”
b=f.读线()
打印b

打印b
输出以下内容:

我可以看到4076,但为什么不能正确输出?我只需要第二条线

更新

如roippi所述,可以通过强制以unicode-16打开文件来解决此问题:

导入编解码器
将codecs.open('windowsPID.txt',encoding='utf-16')作为f:

都修好了


-Chow

默认情况下,Python尝试使用utf-8编码打开文件,但您的文件是以其他方式编码的,因此您可以将原始字节输出到屏幕

\xff\xfe
是UTF-16(LE)。您需要使用正确的编码打开文件

import codecs

with codecs.open('windowsPID.txt', encoding='utf-16') as f:

从一个错误开始,但一旦你们给了我一些东西,我就快速搜索了一下——上面编辑的答案。