************************* 路径 *************************
-
绝对路径:完整的路径,从最初开始
如:E:\tools\workspace\myfile.txt
-
相对路径
./
当前路径(相对于当前的python文件,如:./myfile.txt
)
************************* 读 *************************
open(file=路径,mode=模式,encoding=编码格式)
mode = "r" 从开头读,读的是字符,需要指定文件的编码格式
mode = "rb" 从开头读,读的是字节,不需要指定文件的编码格式
字符 = 字节+解码
read()
从头读到尾,如果读取不到,返回""
read(num)
读几个,如果读取不到,返回""
readline()
读一行,如果读取不到,返回""
readlines()
将所有的行放到列表中,返回,如果读取不到,返回[]
************************* 写 *************************
open
字符的操作:
mode="w" 写字符,从头写
mode="a" 写字符串,续写
字节的操作:
mode="wb"
mode="ab"
mode = "w" 写字符
mode = "wb" 写字节
在写的时候,w,从头开始写
如果文件不存在,创建
如果文件存在,清空文件
write()
从头开始写,如果文件不存在,创建;如果文件存在,清空文件
writelines()
将列表中的数据挨个写入
如果在读写文件的过程中,需要从另外一个位置进行操作的话,可以使用seek()
************************* with *************************
file_path = r"./files/myfile.txt"
with open(file=file_path, mode="r",encoding="utf-8") as my_file:
print(my_file.read())
************************* os *************************
-
os.sep
获得当前操作系统使用的目录分隔符,
比如 Windows 就会得到\
而 Linux/Unix 就会得到/
os.linesep
获取操作系统的换行符号
window -> \r\n linux/unix -> \n -
os.name
获得当前使用的操作系统,Windows 是 NT 内核,所以会得到 nt,
而 Linux/Unix 用户则会得到 posix -
os.getcwd()
得到当前工作目录,即当前 Python 脚本工作的目录路径 -
os.listdir(path)
返回指定目录 path 下的所有文件和目录名 -
os.remove(path)
删除一个文件 -
os.chdir(dirname)
改变工作目录到 dirname -
os.rename(src, dst)
重命名-可以完成剪切 -
os.mkdir(path)
创建一级目录 -
os.makedirs(path)
递归的创建多级目录 -
os.walk(path)
递归返回path下的目录(包括 path 目录)、子目录、文件名的三元组
************************* os.path *************************
-
os.path.isfile()
和os.path.isdir()
分别检验给出的路径是一个文件还是目录。 -
os.path.exists()
用来检验给出的路径是否真地存在 -
os.path.getsize(name)
获得文件大小,如果 name 是目录返回 0L -
os.path.abspath(name)
获得绝对路径 -
os.path.normpath(path)
规范path字符串形式 -
os.path.split(path)
将path分割成目录和文件名二元组返回 -
os.path.splitext()
分离文件名与扩展名 -
os.path.join(path,name)
连接目录与文件名或目录;使用“\”连接 -
os.path.basename(path)
返回文件名 -
os.path.dirname(path)
返回文件路径
************************* shutil *************************
-
shutil.copyfile( src, dst)
从源 src 复制到 dst 中去。当然前提是目标地址是具备可写权限。
抛出的异常信息为 IOException. 如果当前的 dst 已存在的话就会被覆盖掉 -
shutil.move( src, dst)
移动文件或重命名 -
shutil.copymode( src, dst)
只是会复制其权限其他的东西是不会被复制的 -
shutil.copystat( src, dst)
复制权限.最后访问时间.最后修改时间 -
shutil.copy( src, dst)
复制一个文件到一个文件或一个目录 -
shutil.copy2( src, dst)
在 copy 上的基础上再复制文件最后访问时间与修改时间也复制过来了 -
shutil.copy2( src, dst)
如果两个位置的文件系统是一样的话相当于是 rename 操作,只是改名;
如果是不在相同的文件系统的话就是做 move 操作 -
shutil.copytree( olddir, newdir, True/Flase)
把 olddir 拷贝一份 newdir ,
如果第3个参数是 True,则复制目录时将保持文件夹下的符号连接,
如果第3个参数是 False,则将在复制的目录下生成物理副本来替代符号连接 -
shutil.rmtree( src )
递归删除一个目录以及目录内的所有内容