Python File 对象常用的函数

平台: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()


Python File 对象常用的函数file对象使用open函数来创建

 

write1.txt:

 write sentence

write2.txt:(每行5个字符)

1_a_2
3_b_4
5_c_6


1、file.write(str)

作用:

将任何字符串写入一个打开的文件。

例如:

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()        #关闭文件

2、file.writelines(sequence)

作用:

向文件写入一个序列字符串列表或字符串。

例如:

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
>>> 


3、file.read([size])

作用:

从一个打开的文件中读取size个字符,默认读取全部。

例如:

import os

os.chdir(r"c:\users\安东省\desktop")  #改变当前工作目录
fo=open("write1.txt","w+")    #使用相对路径,在桌面新建文件write1

print(fo.read())
fo.close()

结果:

====
write sentence
>>> 

4、file.readline([size])

作用:

每次读取一行,包括换行符,size <= 行内容。

例如:

import os
os.chdir(r"c:\users\安东省\desktop")  #改变当前工作目录
fo=open("write2.txt","r")    #使用相对路径,在桌面新建文件write2

print(fo.readline())
fo.close()

结果:

====
1_a_2


>>> 


5、file.readlines([sizeint])

作用:

读取所有行并返回列表。

例如:

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
>>> 


6、file.close()

作用:

关闭文件,关闭后不能进行读写操作。

关闭文件是一个良好的习惯,如果不关闭你写入的内容就不会写到文件里等等。

例如:

以上代码均可参考!

7、file.flush()

作用:

用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 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


8、file.seek(offset[,from])

作用:

改变当前文件的位置

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
>>> 

解题思路:Python File 对象常用的函数_第1张图片

 

Python File 对象常用的函数_第2张图片

9、file.tell()

作用:

返回文件内的当前位置(下一次从此位置之后读写等)

例如:

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

10、file.next()

作用:

返回文件下一行

例如:

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

>>> 


11、file.truncate([size])

作用:

截取文件,截取之后的内容将会被删除:

①默认为当前文件位置

②截取大于文件内容,自动补充空格或者其他字母

例如:

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
>>> 


12、file.fileno()

作用:

返回一个整形的文件描述符,可以用在如os模块的read函数等一些底层操作上

例如:

结果:

====
文件名: write1.txt
文件描述符: 3
>>> 


13、file.isatty()

作用:

 文件连接到终端返回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

你可能感兴趣的:(Python)