Python基础--文件操作

  文件操作通常用来存储程序结果,以便下次可以直接使用,不必要重新运行一遍。文件操作最基本的三步:1.打开文件或者新建文件  2. 读或者写  3 关闭文件流保存数据。

Python 访问模式如下:

打开、关闭文件

f = open("dirTest.py","r")
print("打开的文件信息:%s"%f)
f.close()
print("文件名:%s,访问模式:%s, 是否关闭:%s"%(f.name,f.mode,f.closed))

输出:
    打开的文件信息:<_io.TextIOWrapper name='dirTest.py' mode='r' encoding='UTF-8'>
    文件名:dirTest.py,访问模式:r, 是否关闭:True

文件读与写

(1)写数据。使用write()可以将数据写入指定文件。

f = open('test.txt',"w")
f.write("正在练习python语法")
f.close()

文件内容:
    正在练习python语法

(2)读数据有三种:

  •  read(size)从指定文件读取size个字节数据,如果没有指定将读取整个文件数据
  • readlines()将对文件逐行读取整个文件,返回的是一个list,其中的每个元素代表文件中的一行数据
  • readline()从文件中读取一行数据
f = open("test.txt",'r')
read = f.read()
print("read:%s"%read)
f.seek(0,0)
lines = f.readlines()
print("readlines:%s"%lines)
f.seek(0,0)
line = f.readline()
print("readline:%s"%line)
f.close()

输出:  
read:1正在练习python语法
2正在练习python语法
3正在练习python语法
4正在练习python语法
5正在练习python语法
6正在练习python语法
readlines:['1正在练习python语法\n', '2正在练习python语法\n', '3正在练习python语法\n', '4正在练习python语法\n', '5正在练习python语法\n', '6正在练习python语法\n']
readline:1正在练习python语法

  如果我们在读取一个未知文件时,不知道文件会有多大,如果一次全部加载可能导致机器的内存不够用,这时我们可以每次取一部分数据多次完成即可。下面的例子是一个复制文件的例子:

fileName = input("请输入要复制的文件名:")
position =fileName.rfind('.')
newFileName = fileName[:position] + '副本' + fileName[position:]
#打开文件
oldFile = open(fileName,'r')
#新建一个文件
newFile = open(newFileName,'w')
#写数据
while True:
   content = oldFile.read(1024)
   if len(content) == 0:
       break
   newFile.write(content)

#关闭文件
oldFile.close()
newFile.close()

输出:
    请输入要复制的文件名:test.txt
    1正在练习python语法
    2正在练习python语法
    3正在练习python语法
    4正在练习python语法
    5正在练习python语法
    6正在练习python语法

文件位置信息

  • tell() 返回文件指针当前位置
  • seek(offset,from)

  offset:偏移量

  from :方向,0:表示文件开头,1:表示当前位置,2:表示文件末尾

 

posted @ 2018-11-25 11:34  今生遇见前世  阅读(222)  评论(0编辑  收藏  举报