文件操作

文件操作:

  r  读

  w 写 只能覆盖写,先清空后写入

  a 在文件文本末尾追加  

  r+ 读写   必须先读

  w+ 写读  

  a+追加写读

  b 使用吧的时候不能写编码集,b操作的是字节

  rb 读取非文本文件

  wb 可以不指定打开文件编码,但是写文件的时必须将字符串转化utf-8的bytes数据

  ab   

  字节不能添加编码集,写mp3,mp4,mp5,图像,非文本

  read()  默认全部读完,可以指定读几个

  readline 读取行,  默认跟\n(换行),\r(回车)

路径:推荐使用相对路径

  相对路径:从磁盘跟目录开始一直到文件名

  绝对路径: 同一个文件夹下的文件,相对于当前这个程序所在的文件夹而言     

  如果早同一个文件夹中,则相对路径就是这个文件名,如果在上一层文件夹,则要 ../

循环读取

f= open("../t.txt",mode="r",encoding="utf-8")

for line in f:

  print(line.strip())

  f.flush () #刷新

  f.close()   #关闭

光标的操作:

seek(0)   #光标移动到开头

seek(0,2)  #将光标移动到结尾

seek(3)  单个参数是字节数

seek(0,1) #两个参数就是表示光标调整到当前位置

seek(0,0)  #两个参数就是表示光标调整到开始位置
seek(0,2)   #两个参数就是表示光标调整到末尾位置

 

tell()  可以找到光标的位置

 

truncate() 截断文件

f=open("t.txt",mode="w",encoding="utf-8")

f.write("哈哈")

f.seek(3)

f.truncate()   #删掉光标后面的所有内容

f.close()

###########坑##########

在r+模式下,如果读取了内容,不论读取内容多少,光标显示的是多少,再写入或者操作文件的时候都在结尾进行操作

############坑##########

 

修改文件:

import  os

with open("t.txt",mode="r",encoding="utf-8")as f, \

  open ("s.txt",mode="w",encoding="utf-8")as f1: 

    content=f.read()

  new_content=content.replace("冰糖葫芦","鸭梨")

  f2.write("s.txt")

os.remove(t.txt)      #删除源文件

os.rename(s.txt)    #重新命名文件

弊端:一次将所有内容进行读取,内存溢出,

解决方案: 一行一行的读取和操作

import  os

with open("t.txt",mode="r",encoding="utf-8")as f, \

  open ("s.txt",mode="w",encoding="utf-8")as f1: 

  for i in f:

    s.txt_line=line.replace("鸭梨","冰糖葫芦")

    f1.write(s.txt_line)

os.remove("t.txt")

os.rename("s.txt",t.txt)

 

 

 

 

 

 

 

 

 

 

  

posted @ 2018-10-30 16:44  Stone李  阅读(110)  评论(0)    收藏  举报
var a_idx = 0; jQuery(document).ready(function($) { $("body").click(function(e) { var a = new Array("","","","","","","♪","",""); var $i = $("").text(a[a_idx]); a_idx = (a_idx + 1) % a.length; var x = e.pageX, y = e.pageY; $i.css({ "z-index": 999999999999999999999999999999999999999999999999999999999999999999999, "top": y - 20, "left": x, "position": "absolute", "font-weight": "bold", "color": "rgb("+~~(255*Math.random())+","+~~(255*Math.random())+","+~~(255*Math.random())+")" }); $("body").append($i); $i.animate({ "top": y - 180, "opacity": 0 }, 1500, function() { $i.remove(); }); }); });