平台:Windows10
软件:Python 3.7
百度网盘链接:☛
提取码:60mn
目录
Python File 对象常用的函数(file对象使用open函数来创建)
1、file.write(str)
2、file.writelines(sequence)
3、file.read([size])
4、file.readline([size])
5、file.readlines([sizeint])
6、file.close()
7、file.flush()
8、file.seek(offset[,from])
9、file.tell()
10、file.next()
11、file.truncate([size])
12、file.fileno()
13、file.isatty()
write1.txt:
write sentence
write2.txt:(每行5个字符)
1_a_2
3_b_4
5_c_6
作用:
将任何字符串写入一个打开的文件。
例如:
import os
os.chdir(r"c:\users\安东省\desktop") #改变当前工作目录
fo=open("write1.txt","w") #使用相对路径,在桌面新建文件write1
str="write sentence" #建立字符串
fo.write(str) #将字符串写入
print(fo.name) #获取文件名
fo.close() #关闭文件
作用:
向文件写入一个序列字符串列表或字符串。
例如:
import os
os.chdir(r"c:\users\安东省\desktop") #改变当前工作目录
fo=open("write2.txt","w+") #使用相对路径,在桌面新建文件write2
str=["1_","a_","2\n","3_","b_","4\n","5_","c_","6"] #创建字符列表
fo.writelines(str) #将字符列表写入文件
print(fo.tell()) #获取文件当前位置,文件指针指向文件尾
print(fo.seek(0,0)) #使用seek函数将文件指针移动到文件开头处
print(fo.name) #获取文件名
print(fo.read()) #读取文件内容
fo.close() #关闭文件
结果:
====
19
0
write2.txt
1_a_2
3_b_4
5_c_6
>>>
作用:
从一个打开的文件中读取size个字符,默认读取全部。
例如:
import os
os.chdir(r"c:\users\安东省\desktop") #改变当前工作目录
fo=open("write1.txt","w+") #使用相对路径,在桌面新建文件write1
print(fo.read())
fo.close()
结果:
====
write sentence
>>>
作用:
每次读取一行,包括换行符,size <= 行内容。
例如:
import os
os.chdir(r"c:\users\安东省\desktop") #改变当前工作目录
fo=open("write2.txt","r") #使用相对路径,在桌面新建文件write2
print(fo.readline())
fo.close()
结果:
====
1_a_2
>>>
作用:
读取所有行并返回列表。
例如:
import os
fo=open(r"C:\Users\安东省\Desktop\write2.txt","r")
for line in fo.readlines():
print(line)
fo.close()
结果:
====
1_a_2
3_b_4
5_c_6
>>>
作用:
关闭文件,关闭后不能进行读写操作。
关闭文件是一个良好的习惯,如果不关闭你写入的内容就不会写到文件里等等。
例如:
以上代码均可参考!
作用:
用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要被动的等待输出缓冲区写入。
一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。
例如:
import os
os.chdir(r"c:\users\安东省\desktop") #改变当前工作目录
fo=open("temp.txt","w")
fo.write("hello python")
fo.flush()
print(fo.name)
fo.close()
结果:
你打开的文件名为: temp.txt
作用:
改变当前文件的位置
offset: 表示要移动的字节数(开头从0开始)
from:默认值为 0:代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
例如:
import os
os.chdir(r"c:\users\安东省\desktop") #改变当前工作目录
fo=open("write1.txt","r")
print("练习1")
print(fo.read()) #此时文件指针在文件尾
print("\n练习1.1")
fo.seek(7,0) #0:从文件开头读入,7:从文件开头向右移动到位置7处,其实当前位置为第8个字节
print(fo.read())
f=open("write2.txt","r")
print("\n练习2")
f.seek(7) #位置移动到7处,其实当前位置为第8个字节
print(f.read())
f.close()
fo.close()
结果:
====
练习1
write sentence
练习1.1
entence
练习2
3_b_4
5_c_6
>>>
作用:
返回文件内的当前位置(下一次从此位置之后读写等)
例如:
import os
os.chdir(r"c:\users\安东省\desktop") #改变当前工作目录
fo=open("write1.txt","r")
print(fo.tell()) #0 文件刚打开,指针指向文件开始位置
print(fo.read(2)) #从开头开始自左向右读取两个字符
print(fo.tell()) #2 read读了两个字符,当前位置指针指向2处,下一次读从位置2处之后读取。
print(fo.read()) #位置2之后读取,一直到结尾
print(fo.tell()) #14 文件总共字节数
fo.close()
结果:
0
wr
2
ite sentence
14
作用:
返回文件下一行
例如:
import os
os.chdir(r"c:\users\安东省\desktop") #改变当前工作目录
fo=open("write2.txt","r") #使用相对路径打开write2文本文件
line=next(fo)
print(line) #返回文件第一行
print(line) #返回文件第二行
fo.close()
结果:
====
1_a_2
1_a_2
>>>
作用:
截取文件,截取之后的内容将会被删除:
①默认为当前文件位置
②截取大于文件内容,自动补充空格或者其他字母
例如:
import os
os.chdir(r"c:\users\安东省\desktop")
fo=open("write1.txt","r+") #截取有改动文件内容,所以要用到r+(读写)
print(fo.read()) #原文件内容
print(fo.truncate(5)) #截取前5个字节,大于第5个字节之后进行删除
print(fo.tell()) #使用tell函数返回文件当前位置
fo.seek(0,0) #使用seek函数把文件指针移动到文件开头处
print(fo.read()) #字节从1开始,此时文件大小为5字节
fo.close() #关闭文件
结果:
write sentence
5
14
write
>>>
作用:
返回一个整形的文件描述符,可以用在如os模块的read函数等一些底层操作上
例如:
结果:
====
文件名: write1.txt
文件描述符: 3
>>>
作用:
文件连接到终端返回true,则返回false
例如:
import os
os.chdir(r"c:\users\安东省\desktop") #改变当前工作目录
fo=open("write1.txt","r") #使用相对路径打开write1文本文件
print(fo.name)
print(fo.isatty())
fo.close()
结果:
====
write1.txt
False
>>>
作者:安东省心
时间:2019/9/28