首页 > 代码库 > python学习之IO:

python学习之IO:

输入输出兼程IO操作,有同步(速度不匹配时四等)和异步(轮询和消息通知,复杂而高效)

一 文件操作函数:

文件打开:f=open("文件路径“,“操作类型 r/rb/w/a”,"编码”,“错误处理”),

文件读写:f.read/f.write/f.read(size)/f.readline()/f.readlines()

文件关闭:f.close

with语句:with open函数 as f

              f.read/wirte() #操作完自动关闭

二内存操作IO:

StringIO:

>>> from io import StringIO
>>> f = StringIO(‘Hello!\nHi!\nGoodbye!‘)

ByteSIO:

>>> from io import StringIO
>>> f = BytesIO(b‘\xe4\xb8\xad\xe6\x96\x87‘)
>>> f.read()
b‘\xe4\xb8\xad\xe6\x96\x87‘

三:操作文件和目录:在OS模块和shutil模块提供了copyfile()的函数 import os,文件路径分隔符为/

3.1创建文件夹 os.mkdir(;文件夹路径‘,‘文件夹名’) 例如在当前文件夹下创建:os.mkdir(‘./work‘),删除文件夹os.rmdir;

    切换文件夹到固定路径(只有将工作目录切换到指定的文件夹下,才可以将相关模块import进来):os.chdir("C:\\Users\\Michael\\Documents\\python\\mypython")

    查看当前绝对路径:os.path.abspath(‘.‘)

    

  1. os.chdir("../..")#表示上两级目录  
  2. os.chadir("/")则表示切换到当前文件所在的根目录下

3.2分离路径和文件:os.path.split(‘文件夹路径‘),分离文件名和类型:os.path.splitext(‘文件夹路径‘)

   设置新文件的路径 os.path.join(‘文件夹路径‘,‘文件名‘)

3.3创建文件:
  1) os.mknod("test.txt") 创建空文件
  2) open("test.txt",w)           直接打开一个文件,如果文件不存在则创建文件

3.4复制文件:
  shutil.copyfile("oldfile","newfile")       oldfile和newfile都只能是文件
  shutil.copy("oldfile","newfile")            oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

   复制文件夹:
  shutil.copytree("olddir","newdir")        olddir和newdir都只能是目录,且newdir必须不存在

3.3文件重命名和删除、移动文件(目录):os.rename(‘test.txt‘, ‘test.py‘) ;os.remove(‘test.py‘) ;shutil.move("oldpos","newpos")  

判断目标
os.path.exists("goal")    判断目标是否存在
os.path.isdir("goal")     判断目标是否目录
os.path.isfile("goal")    判断目标是否文件   

 

python学习之IO: