Python 中的文件操作

************************* 路径 *************************
  1. 绝对路径:完整的路径,从最初开始
    如:E:\tools\workspace\myfile.txt

  2. 相对路径
    ./当前路径(相对于当前的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 *************************
  1. os.sep
    获得当前操作系统使用的目录分隔符,
    比如 Windows 就会得到\而 Linux/Unix 就会得到/
    os.linesep
    获取操作系统的换行符号
    window -> \r\n linux/unix -> \n

  2. os.name
    获得当前使用的操作系统,Windows 是 NT 内核,所以会得到 nt,
    而 Linux/Unix 用户则会得到 posix

  3. os.getcwd()
    得到当前工作目录,即当前 Python 脚本工作的目录路径

  4. os.listdir(path)
    返回指定目录 path 下的所有文件和目录名

  5. os.remove(path)
    删除一个文件

  6. os.chdir(dirname)
    改变工作目录到 dirname

  7. os.rename(src, dst)
    重命名-可以完成剪切

  8. os.mkdir(path)
    创建一级目录

  9. os.makedirs(path)
    递归的创建多级目录

  10. os.walk(path)
    递归返回path下的目录(包括 path 目录)、子目录、文件名的三元组

************************* os.path *************************
  1. os.path.isfile()os.path.isdir()
    分别检验给出的路径是一个文件还是目录。

  2. os.path.exists()
    用来检验给出的路径是否真地存在

  3. os.path.getsize(name)
    获得文件大小,如果 name 是目录返回 0L

  4. os.path.abspath(name)
    获得绝对路径

  5. os.path.normpath(path)
    规范path字符串形式

  6. os.path.split(path)
    将path分割成目录和文件名二元组返回

  7. os.path.splitext()
    分离文件名与扩展名

  8. os.path.join(path,name)
    连接目录与文件名或目录;使用“\”连接

  9. os.path.basename(path)
    返回文件名

  10. os.path.dirname(path)
    返回文件路径

************************* shutil *************************
  1. shutil.copyfile( src, dst)
    从源 src 复制到 dst 中去。当然前提是目标地址是具备可写权限。
    抛出的异常信息为 IOException. 如果当前的 dst 已存在的话就会被覆盖掉

  2. shutil.move( src, dst)
    移动文件或重命名

  3. shutil.copymode( src, dst)
    只是会复制其权限其他的东西是不会被复制的

  4. shutil.copystat( src, dst)
    复制权限.最后访问时间.最后修改时间

  5. shutil.copy( src, dst)
    复制一个文件到一个文件或一个目录

  6. shutil.copy2( src, dst)
    在 copy 上的基础上再复制文件最后访问时间与修改时间也复制过来了

  7. shutil.copy2( src, dst)
    如果两个位置的文件系统是一样的话相当于是 rename 操作,只是改名;
    如果是不在相同的文件系统的话就是做 move 操作

  8. shutil.copytree( olddir, newdir, True/Flase)
    把 olddir 拷贝一份 newdir ,
    如果第3个参数是 True,则复制目录时将保持文件夹下的符号连接,
    如果第3个参数是 False,则将在复制的目录下生成物理副本来替代符号连接

  9. shutil.rmtree( src )
    递归删除一个目录以及目录内的所有内容

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值