文件操作作为python基础中的重点,必须要掌握。


 

1、默认我们在本地电脑E盘新建wp.txt文件进行测试,文件内容如下设置。

env python第一行user python文件第一行_env python第一行user

2、进行代码编写:

f=open("E://wp.txt")#f代表了句柄,意味着,打开文件后,必须要有东西去操作它,这个东西就是句柄,习惯性叫法。

first_line=f.readline()#这里是读取文件内空的操作,readline指读取第一行,也就是wp文件里面的"hello A"内容,还有一种形式是readlines,这里表示依次读取所有行,并且以集合的方式显示出来first_line: ['1,hello A \n', '2,hello B\n', '\n', '3,hello C']

print("first_line:"first_line)#进行文件内容的打印

print("我是分割线“.center(50,"-”))#打印一条居中的分隔线

data=f.read()#指针移动到条2行,从这里开始读写剩余文件内容,read()读取指针开始里以下的所有内容

print(data)

f.close()关闭文件


 3、打开文件的模式主要有:

只读模式r #此模式为文件打开方式的默认模式,只能是存在的文件才可以使用此模式,不存在则会报错。

只写模式w #此模式下文件如果不存在,则创建新文件,如果文件存在,则清空旧文件内容。但是此模式下文件不可读,只能创建或者清空旧文件内容。

追加模式a #此模式下文件可以追加,不存在则创建,存在则追加,应该是所有模式里面最常用和最重要的模式。注意的是,打印时,此模式下,指针自动会放到旧文件内容的末尾。

可读可写可追加r+ #

写读模式w+  #

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU
  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab 

 4、文件操作:

f.write(str),是写模式,可以把内容写到文件中去,并且不会在末尾加换行符,

f.tell(),返回当前位置点,并且把指针返回到原点

f.flush(),把缓冲区的数据写入到硬盘

f.isatty(),判断文件是否为终端设备文件

f.next(),返回下一行文件,并且把指针指入到下一行

fp.seek(offset[,whence]) ,将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。

fp.truncate([size]),把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

 

5、with语句:

在打开文件后,为了防止忘记关闭文件,引入with语句,让其自动关闭。

with open(“E://wp.txt","r") as f :

  pass


6、重要的编码转换方式,记住如果是utf-8转换成GBK,需要,utf-8先decode为unicode,再encode为GBK,如果是GBK转换为UTF-8,则需要先decode为unicode,再encode为utf-8

env python第一行user python文件第一行_打开文件_02

 


 

进度条效果:
import sys,time

    for i in range(50):
        sys.stdout.write("#")
      sys.stdout.flush()
      time.sleep(0.3)