m0_57965808 2022-01-10 23:09 采纳率: 90.9%
浏览 49
已结题

python with open as f 怎么用?

问题遇到的现象和发生背景

我有一个JSON文件,用with open as f打开读取内容的时候出现了内容错乱的问题

问题相关代码,请勿粘贴截图
with open(r'F:\GTP\GPT-Chinese\GPT2-Chinese-old_gpt_2_chinese_before_2021_4_22\data\train.json', 'r',encoding='utf-8') as f:
    #print(f.read())
    #print(f.readlines())
    #print(f.readline())
    #for i in f.readlines():
        #print(i)
    Q=f.readlines()
    print(Q[2])

运行结果及报错内容

据我所知,使用read或readlines,readline中的任意一个都应该是从文件的头部开始显示内容,但是在我运行代码过程中,除少数情况外,多次出现内容错乱的情况,如下:
print(f.read())

img


print(f.readlines())

img

print(f.readline()):什么也不显示

for i in f.readlines():
print(i)

img


但也有正常的情况:
当X为任意正整数时:
Q=f.readlines()
print(Q[x])
print(f.read(x))
print(f.readlines(x))
它们三个的运行结果都是正常的

JSON文件内容开头部分:

img


我想知道的是为什么输出的内容不是从小说开头开始显示的,而是从小说中间部分开始显示的呢?

  • 写回答

1条回答 默认 最新

  • 陈年椰子 2022-01-11 08:08
    关注

    我看到数据里已经有回车符
    试试这样

    for i in f.readlines():
        print(i,end="")
    
    

    这样写应该和

    print(f.read())
    
    

    展示的内容一样。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月19日
  • 已采纳回答 1月11日
  • 修改了问题 1月11日
  • 创建了问题 1月10日

悬赏问题

  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?