扣丁学堂浅谈Python文件操作方法总结

  今天扣丁学堂给大家详细介绍一下关于Python文件操作方法的详细介绍,首先对于大多数编程语言对文件系统的操作是一项必不可少的功能,各种编程语言基本上都有对文件系统的操作,那么下面我们来看一下关于Python文件操作方法总结。

扣丁学堂浅谈Python文件操作方法总结_第1张图片

  文件操作必不可少的是open函数:对文件读写之前,需要先打开文件,获取文件句柄,注意:open() file()

尽量使用open(),Python3以后不支持file()了

  1、open方法原型解释

  1open(file_name[,access_mode][,buffering])

  (1)参数说明

  file_name:一个包含了你要访问的文件路径及文件名称的字符串值。尽量使用绝对路径

  access_mode:打开文件的方式:这个参数是非强制的,默认文件访问模式为只读(r)

  r,只读

  w:写之前会清空文件的内容

  a:追加的方式,在原本内容中继续写

  buffering:先写到缓存中

  如果buffering的值被设置为0,就不会有寄存;如果值为1,访问文件时会缓存行;如果值位大于1的整数,表明了这就是寄存区的缓冲大小;如果取负值,寄存区的缓冲大小则为系统默认。该参数也是非强制性的。

  (2)返回值

  该语句表示返回的File_object是一个指向文件的指针(一个文件对象)文件句柄。当以只读模式(r)打开一个不存在的文件时,就会报IOError异常(文件不存在),但如果是以写或追加模式(w/a/a+)打开一个不存在的文件时,默认会创建该文件,但如果是所在路径中有目录不存在,也会报IOError异常

  常用方法列表

  操作说明

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

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

  os.remove()函数用来删除一个文件

  os.removedirs(r"c\python")删除多个目录

  os.path.isfile()检验给出的路径是否是一个文件

  os.path.isdir()检验给出的路径是否是一个目录

  os.path.isabs()判断是否是绝对路径

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

  os.path.split()返回一个路径的目录名和文件名

  os.path.splitext()分离扩展名

  os.path.dirname()获取路径名

  os.path.basename()获取文件名

  os.system()运行shell命令

  os.getenv() 与os.putenv()读取和设置环境变量

  os.linesep 给出当前平台使用的行终止符,Windows使用'rn',Linux使用'n'而Mac使用'r'

  os.name指示你正在使用的平台,对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'

  os.rename(old, new)重命名:

  os.makedirs(r"c:\python\test")创建多级目录

  os.mkdir("test")创建单个目录

  os.stat(file)获取文件属性

  os.chmod(file)修改文件权限与时间戳

  os.exit()终止当前进程

  os.path.getsize(filename)获取文件大小

  os.mkdir("file")创建目录

  shutil.copyfile("oldfile","newfile")复制文件, oldfile和newfile都只能是文件

  shutil.copy("oldfile","newfile")oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

  shutil.copytree("olddir","newdir")复制文件夹,

olddir和newdir都只能是目录,且newdir必须不存在

  os.rename("oldname","newname")重命名文件(目录),文件或目录都是使用这条命令

  shutil.move("oldpos","newpos")移动文件(目录)

  os.remove("file")删除文件

  os.rmdir("dir")删除目录, 只能删除空目录

  shutil.rmtree("dir")空目录、有内容的目录都可以删

  os.chdir("path")转换目录, 换路径

  os.mknod("test.txt")创建空文件

  2、mode文件操作模式

  r,w,a

  r+可读可写

  w+:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

  a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

  模式列表

  操作说明

  r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

  w以写方式打开,

  a以追加模式打开 (从 EOF 开始, 必要时创建新文件)

  r+以读写模式打开

  w+以读写模式打开 (参见 w )

  a+以读写模式打开 (参见 a )

  rb以二进制读模式打开

  wb以二进制写模式打开 (参见 w )

  ab以二进制追加模式打开 (参见 a )

  rb+以二进制读写模式打开 (参见 r+ )

  wb+以二进制读写模式打开 (参见 w+ )

  ab+以二进制读写模式打开 (参见 a+ )

  3、通过open获取到的文件句柄可以对文件作的其他操作

  (1)fp.closed

  判断文件是否已经关闭。返回true如果文件已被关闭,否则返回false

  (2)fp.mode

  输出读写模式。返回被打开文件的访问模式。

  (3)fp.name:

  返回文件的名称。

  (4) fp.softspace

  如果用print输出后,是否跟一个空格符,false不打印,true则打印。

  (5)fp.close()

  刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。

  (6)flush()

  把缓冲区中的内容持久化写到磁盘里

  缓存区写满的情况,系统会自动调用flush()方法。

  调用flush的时机:写入了多少长度的数据,或者间隔了多长的时间

  如果没有flush(),持久化内容丢失

  (7)next()

  12for i in fp:

  print i

  把一个file用for...in file这样的循环遍历语句时,就是调用next()函数来实现。

  fp=open(fileName,'r')

  print fp.next()

  print fp.next()

  print fp.fileno() #判断当前操作的文件句柄是哪一个number

  fp.close()

  以上就是关于扣丁学堂Python视频教程之Python文件操作方法的详细介绍,最后想要了解更多关于Python发展前景趋势,请关注扣丁学堂官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供最新的Python培训视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的Python视频教程课程,让你快速掌握Python从入门到精通开发实战技能。扣丁学堂Python开发工程师技术交流群:279521237。

你可能感兴趣的:(扣丁学堂浅谈Python文件操作方法总结)