目录
一、文件操作介绍
文件 : python中文件是对象
Liunx 文件 : 一切设备都可以看成是文件
磁盘文件 管道 网络Socket
文件属性:
读 写 执行权限
就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力
二、文件的打开和关闭
如果想用word编写一份简历,应该有哪些流程呢?
文件打开方法:
open(name,mode[buf])
f = open('test.txt', 'w')
文件打开方法:
with open(‘test.txt’, ‘w’) as file
close
# 新建一个文件,文件为:test.txt
f = open('test.txt', 'w')
# 关闭这个文件
f.close()
1.将写缓存同步到磁盘 ;2.Linux 系统中每一个进程打开文件的个数是有限的;3.如果打开文件数到了系统限制, 则会打开失败
"""
open(文件名称, 模式)
open("test.txt" , "r")
with open
with open("test.txt" , "r") as f:
"""
# file = open("test3.txt" , "a")
# file.close()
file = open("test.txt" , 'r')
contend1 = file.read(5)
print(contend1)
print("--"*30)
contend2 = file.read(5)
print(contend2)
file.close()
三、文件的读写
文件读取方式
read([size]) :读取文件(读取size个字节,默认读取全部)
f = open('test.txt', 'r')
content = f.read(5) # 最多读取5个数据
print(content)
print("-"*30) # 分割线
print(content)
f.close() # 关闭文件,这个可以是个好习惯哦
文件读取方式
readlines([size]) :读取文件返回每一行所组成的列表
f = open('test.txt', 'r')
content = f.readlines()
print(type(content))
i=1
for temp in content:
print("%d:%s" % (i, temp))
i += 1
f.close()
文件读取方式
readline 读取一行
f = open('test.txt', 'r')
content = f.readline()
print("1:%s" % content)
content = f.readline()
print("2:%s" % content) f.close()
如果一个文件很大,比如5G,试想应该怎样把文件的数据读取到内存然后进行处理呢?
文件的写入
write(str): 将字符串写入文件
writelines(): 写多行到文件中
文件读取写入文件指针移动过程
写文件的过程与存在问题
Python写入磁盘的时机
1. 主动调用close 方法, 写缓存同步到磁盘
2. 写入数据量大于或等于写缓存,写缓存同步到磁盘
"""
# 打开文件
file = open("test3.txt", "r")
# 读取10个字节
contend = file.read(10)
print(contend)
print("-"*30)
# 读取全部
result = file.read()
print(result)
# 关闭
file.close()
#打开文件
file = open("test3.txt", "r")
contend = file.readlines()
print(contend)
print("--"*28)
for i in contend:
print(i)
file.close()
"""
file = open("test3.txt", "r")
contend = file.readline()
print(contend)
ret = file.readline()
print(ret)
file.close()
file = open("domo.txt" , "w")
contend = "i love python"
file.write(contend)
file.close()
四、文件文件夹相关操作
文件包括: 磁盘(ext2, ext4)文件 , NFS文件系统,
各种外设(sd卡, USB设备)
Linux 如何管理外设?
python对文件的操作
OS模块
文件重命名
rename(需要修改的文件名, 新的文件名)
import os
os.rename("毕业论文.txt", "毕业论文-最终版.txt")
OS模块
删除文件
remove(待删除的文件名)
import os
os.remove("毕业论文.txt")
OS模块
创建文件夹
mkdir()
import os
os.mkdir(“张三”)
OS模块
获取当前目录
os.getcwd()
改变默认目录
os.chdir("../")
获取目录列表
os.listdir("./")
删除文件夹
os.rmdir("张三")
import os
"""
# os.rename("domo.txt","deep.txt")
os.rename("deep.txt","123.txt")
文件重命名操作
文件删除操作
os.remove("test.txt")
创建文件夹
os.mkdir("张三")
"""
path = (os.getcwd())
print(path)
五、test
一、单选题
1.打开一个已有文件,然后在文件末尾添加信息,正确的打开方式为()。
A. 'r' B. 'w' C.'a' D. 'w+'
2.假设文件不存在,如果使用open方法打开文件会报错,那么该文件的打开方式是下列哪种模式?()
A. 'r' B. 'w' C.'a' D. 'w+'
3.假设file是文本文件对象,下列选项中,哪个用于读取一行内容?()
A. file.read() B. file.read(200)
C.file.readline() D.file.readlines()
4.下列方法中,用于向文件中写出内容的是()。
A.open B.write C.close D.read
5.下列荣方法中,用于获取当前目录的是()。
A.open B.write C.Getcwd D.read
二、判断题
文件打开的默认方式是只读。()打开一个可读写的文件,如果文件存在会被覆盖。()使用write方法写入文件时,数据会追加到文件的末尾。()实际开发中,文件或者文件夹操作都要用到os模块。()read方法只能一次性读取文件中的所有数据。
三、填空题
打开文件对文件进行读写,操作完成后应该调用_______方法关闭文件,以释放资源。seek方法用于移动指针到制定位置,该方法中________参数表示要偏移的字节数。使用readlines方法把整个文件中的内容进行一次性读取,返回的是一个__________。os模块中的mkdir方法用于创建__________。在读写文件的过程中,_________方法可以获取当前的读写位置。
1、A
2、A
3、C
4、C
二、对 错 错 对 错
三、close offset 列表 文件夹 tell