Python 将文本文件读入变量,后续的print()将返回转义字符?
我一直在找这个,但没有结果。我有一个代码片段,我想将一个文本文件读入python中的一个变量,以便以后可以引用它(特别是为了终止正在运行的进程) 生成的文件如下所示: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
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:
从一个错误开始,但一旦你们给了我一些东西,我就快速搜索了一下——上面编辑的答案。