让python读的文件应该放在哪,python对文件的读写操作方式

  让python读的文件应该放在哪,python对文件的读写操作方式

  Python基本文档操作

  在文档中读取:

  f=打开( test.txt , r )

  写入文档:

  F=打开( output.txt , w )

  立正!如果你想阅读文档,但是你写错了关键字,把‘r’写成‘w’并运行程序,那么你的文档就会变成空白,因为你什么都没写。

  修改文档中指定行的内容:

  例如,您使用代码自动生成文本和符号,但由于格式要求,许多符号成对出现,文本生成后很难返回。比如我就遇到过这种情况:

  背景:

  yolo自动检测视频中的行人时,会得到每一帧的帧数和行人的坐标,然后这些坐标需要读入VOTT(一个视频标注工具)进行微小的修正,所以需要转换成json格式,再转换成json格式.要知道,括号,花括号,逗号是不会错的。我终于做出了自动格式转换的功能,也就是从

  收件人:

  大家可以看到,我已经用json格式表达了每一帧每一个行人的坐标,但是格式转换后出现了问题。在倒数第二行,有一个额外的逗号:

  不要把它看做只是一个小逗号,但是有了这个逗号,VOTT就读不出来了,没有逗号也读成功了,所以编程也是一项细致的工作~ ~

  不就是个逗号吗?删了就OK啦~ ~

  我也是这么想的,但是交给我的同事不这么想,坚持要我自动去掉这个逗号,于是就有了今天的分享~

  实现

  首先创建两个文件读取函数f1和f2,f1负责读取文件信息,f2负责写入新的文件信息,通过读写可以修改指定的内容。F1先读这个json文档,然后逐行读。如果不需要修改这行内容,直接发送到新文件中;如果这一行的内容需要修改,可以直接修改,也可以通过文本替换来修改(为满足不同程序的自适应要求,多采用文本替换)。设置要替换的文本old_str和新文本new_str,替换内容,完成其他行的文件读写。

  源代码如下:

  导入操作系统

  file=output.json

  old_str=}],

  new_str=}]

  #因为我只想删除最后一个逗号,所以新字符串比旧字符串少了一个逗号。

  #在这里,确保你只匹配你要改变的字符串,否则满足条件的整行都会被替换。

  def alter(文件,旧字符串,新字符串):

  Total_count=0 #文档中的总行数。

  Count=0 #目标行数

  用open(file)作为f:

  对于f中的行:

  总计数=总计数1

  用open(file, r ,encoding=utf-8 )作为f1,\

  打开( %s.bak % file, w ,encoding=utf-8 )作为f2:

  对于f1中的行:

  计数=计数1

  If==total _ count-2:如果当前行是倒数第三行,则执行替换操作。

  如果old_str在第行:

  line=line.replace(旧字符串,新字符串)

  f2 .写(行)

  否则:

  f2 .写(行)

  os.remove(文件)

  os.rename(%s.bak % file,file)

  好了,于是自动格式转换愉快地实现了,可以直接被VOTT识别~

  最后放上一张VOTT加载的YOLO探测到的行人坐标截图:

  欢迎来到“pyhon的修炼之道”,我们会持续更新新鲜的python相关文章~

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: