1、文件
文件的处理步骤:打开->处理->关闭,打开文件的时候需要注意文件的编码格式是否一致,不一致的时候会报错,打开不了。
open(文件名称,打开方式,)
f=open('test1.txt','r',encoding='utf-8') # 以只读的方式打开文件
print(f.read())
f.close()
r:以只读的方式打开(rb以二进制的格式),光标默认放在文件开头,文件不存在则报错
r+:打开一个文件用于读写(rb+以二进制的格式打开文件),光标默认放在文件开头,文件不存在则报错
w:打开一个文件(wb以二进制的格式打开文件),只用于写入,如果该文件已存在则将其覆盖,如果不存在,创建新文件
w+:打开一个文件(wb+以二进制的格式打开文件)用于读写,如果该文件已存在则将其覆盖,如果不存在,创建新文件
a:打开一个文件(ab以二进制的格式打开文件)用于追加,如果文件存在,光标会放在文件结尾(新内容将会被写入到已有内容之后),如果不存在,创建新文件进行写入
a+:打开一个文件(ab+以二进制的格式打开文件)用于读写,如果文件存在,文件直针会放到文件结尾,如果不存在,创建新文件进行写入
seek(),用于读取文件中光标移动的函数
f = open('test1.txt','w+')
f.write('hello today')
f.seek(0) # 写完之后光标是在最后一个字后面,读去的内容是从最后一个字开始的,最后一个字后面是空白,所以直接读取会读取不出来
print(f.read())
f.close()
文件的操作方法:
f.read():读取指定大小内容
f.readline():读取一行内容
f.readlines():读取多行内容
f.write(data):写入内容
f.writelines(lines):写入多行,需要自己加换行符
- 在Windows系统重,一行结束的标志是\r\n,系统会把\n转化成\r\n
f.flush():立即刷新缓冲
f.tell():获得游标位置
f.seek(position):调整游标位置
2、with open() as ... 自动关闭文件,返回写入多少个字符,\n也算一个字符
with能够自动关闭文件,不需要执行close方法
with open('test2.txt','w+') as f: # 赋值给f这个变量
print(f.write('hello sunwukong\n'))
print(f.write('hello zhubajie\n'))
3、文件的编码处理
errors='ignore' (忽略报错)
with open('test2.txt','r',errors='ignore') as f:
print(f.read())
4、OS模块
绝对路径:文件在系统中的完整路径,比如:/home/user/documents/test1.txt
相对路径:相对于当前文件下某个文件,比如:test1.txt
OS模块的函数使用时需要导入os模块
os.getcwd():获取当前工作目录路径
import os
current_path = os.getcwd()
print(current_path)
os.listdir(path):用于返回指定目录下的所有文件
os.chdir(path):改变当前工作目录路径到指定路径,path指定路径
os.mkdir(文件名):创建文件,该函数创建成功时无返回,创建失败时会返回异常
import os
os.mkdir('test3')
os.rmdir(文件名):删除空文件
os.system():用于在终端中运行Linux命令
os.remove(文件名):删除文件
os.rename(老文件名,新文件名):重命名文件或目录
os.path 模块
os.path.join(path1,path2......):路径拼接
import os
directory = "path/to/directory"
filename = "file.txt"
full_path = os.path.join(directory, filename)
print(full_path)
os.path.dirname():从指定路径中获取目录名
import os
path = '/home/User/Documents/file.txt'
dirname = os.path.dirname(path)
print(dirname) # /home/User/Documents
os.path.basename():返回路径的基本名称
import os
path = '/User/Documents'
dirname = os.path.basename(path)
print(dirname) # Documents
os.path.abspath(path):获取给定路径的绝对路径
os.path.relpath(path):获取给定路径的相对路径
os.path.getsize(file_path):获取文件的大小,以字节为单位,file_path获取文件的文件路径
os.path.exists(指定的文件或目录):判断指定的文件或目录是否存在,存在返回True,不存在返回False
os.path.isdir():判断给定路径是否为一个存在的目录,存在返回True,不存在返回False
os.path.isfile():给定路径指定文件是否存在,存在返回True,不存在返回False
os.path.isabs():判断是否是绝对路径,存在返回True,不存在返回False
os.path.getctime():获取指定文件或目录的创建时间,返回浮点数
os.path.getatime():获取指定路径的最后访问时间,返回浮点数
os.path.getmtime():获取指定文件或目录的最后修改时间,返回浮点数