Python文件操作方法大总结

python

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

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

1、open方法原型解释

python;toolbar:false">open(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"cpython")删除多个目录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 est")创建多级目录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()

for 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文件操作方法大总结 的全部内容, 来源链接: utcz.com/z/520877.html

回到顶部