如何在python中使用换行符打印文本文件内容?

时间:2017-11-29 15:06:30

标签: python

我的文本文件的内容是:

5 7 6 6 15
4 3

当我这样做时

fs.open('path',mode='rb').read()

我得到了

b'5 7 6 6 15\r\n4 3'

但是因为我希望它与字符串output

进行比较
5 7 6 6 15
4 3

我想做这样的比较,如:

if fs.open('path',mode='rb').read() == output
    print("yes")

我应该如何以换行空间来保存所有内容?

PS:输出只是我通过json获得的字符串。

2 个答案:

答案 0 :(得分:2)

使用Python 3,bytes产生一个\r对象,而且包含一个回车符(windows文本文件)

(并使用Python 2没有帮助,因为这个额外的bytes因二进制模式而未被删除)

您正在将str对象与output对象进行比较:这总是错误的。

此外,还不清楚with open('path') as f: if f.read().rstrip() == output.rstrip(): 字符串在 last 行上是否有行终止。我会在文本模式下打开文件并删除空白/换行结尾(文件似乎不包含一个文件,但安全性比抱歉更好):

  common-component-imports.ts:
    export { AppState, Event, EventPriority, EventType, Page, Unit, User, WindowSettings } from '../models/index';
    export { Component, ElementRef, Input, ViewChild, ViewChildren } from '@angular/core';
    export { Config, IonicPage, Loading, LoadingController, Modal, ModalController, Nav, NavController, NavParams, Platform, Toast, ToastController, ViewController } from 'ionic-angular';
etc../

答案 1 :(得分:1)

将阅读模式从rb更改为rrb返回二进制文件,r发出文字。