您当前的位置: 首页 >  Python

网易测试开发猿

暂无认证

  • 2浏览

    0关注

    221博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python文件操作(八)-----详细

网易测试开发猿 发布时间:2021-12-13 16:50:05 ,浏览量:2

目录:导读
    • 前言
    • 一、读取文件内容
    • 二、往文件写入数据
    • 三、其它操作文件方法
    • 四、重命名和删除文件
    • 五、目录操作

前言

Python文件操作 Python提供了必要的函数和方法进行默认情况下的文件基本操作,可以用file对象做大部分的文件操作

open函数 首先必须先用Python内置的 open() 函数 打开一个文件,创建一个file对象,相关的辅助方法才可以调用它进行读写

语法:

file object = open(file_name [, access_mode][, buffering])

各个参数的说明如下: file_name:file_name变量是一个包含了你要访问的文件名称的字符串值

access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表这个参数是非强制的,默认文件访问模式为只读(r)。 access_mode属性值介绍:    对文件的操作包含 r (读) w(写) a(追加)    r:只读方式打开文件。    rb:以二进制格式打开一个文件用于只读。    r+:打开一个文件用于读写。    rb+:以二进制格式打开一个文件用于读写。    w:写的方式打开文件,表示新建或者覆盖文件,也有 wb w+ wb+ 与r类似    a 追加的方式打开文件,表示在文件内容末尾添加内容,也有 ab a+ ab+ 注:r、w方式操作文件时,文件指针指向文件开头,a方式时,指向文件末尾

buffering:如果buffering的值被设为0,就不会有寄存,如果buffering的值取1,访问文件时会寄存行,如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认

File对象的属性: file.closed:返回true如果文件已被关闭,否则返回false file.mode:返回被打开文件的访问模式 file.name:返回文件的名称 file.encoding:返回文件编码

一、读取文件内容

read( ) 方法:从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字

语法:

fileObject.read([count])

在这里,被传递的参数是要从已打开文件中读取的字节计数,该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾

例如:

a = open('c:/a.txt','r+');
str = a.read(3);
print(str);

关闭文件: File对象的close( ) 方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入

语法:

fileObject.close();
二、往文件写入数据

Write() 方法可将任何字符串写入一个打开的文件,需要重点注意的是,Python字符串可以是二进制数据,而不仅仅是文字

Write( ) 方法:不在字符串的结尾不添加换行符(‘\n’) flush( ) 方法:刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件

语法:

fileObject.write(string);
fileObject.flush();

文件位置: Tell( ) 方法:告诉你文件内的当前位置,换句话说,下一次的读写会发生在文件开头这么多字节之后

seek(offset [,from]) 方法:改变当前文件的位置,Offset变量表示要移动的字节数,From变量指定开始移动字节的参考位置。如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置

三、其它操作文件方法
fp.readline([size]); 
"""读一行,如果定义了size,有可能返回的只是一行的一部分"""

fp.readlines([size]); 
"""把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用
readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到
文件的一部分。"""

fp.writelines(seq); 
"""把seq的内容全部写到文件中(多行一次性写入)。如果需要换行则要自己加入每行的换行符"""

next(fp);
"""返回下一行,并将文件操作标记位移到下一行。如果需要换行则要自己加入每行的换行符"""
四、重命名和删除文件

Python的os模块提供了帮你执行文件处理操作的方法,比如重命名和删除文件

要使用这个模块,你必须先导入它,然后可以调用相关的各种功能。

import os

rename( ) 方法:rename()方法需要两个参数,当前的文件名和新文件名

语法:

os.rename(current_file_name, new_file_name);

remove( ) 方法:你可以用remove()方法删除文件,需要提供要删除的文件名作为参数

语法:

os.remove(file_name);
五、目录操作

mkdir( ) 方法:可以使用os模块的mkdir()方法在当前目录下创建新的目录 语法:

os.mkdir("newdir")

chdir( ) 方法:可以用chdir()方法来改变当前的目录 语法:

os.chdir("newdir")

rmdir( ) 方法:删除目录,目录名称以参数传递。在删除这个目录之前,它的所有内容应该先被清除 语法:

os.rmdir('dirname')

makedirs()方法:创建多级目录 语法:

os.makedirs(“c:\python\test”)

getcwd( ) 方法:得到当前工作目录 语法:

os.getcwd()

isdir()/isfile( )方法:检验给出的路径是否是一个目录/文件

os.path.isdir('E:\\python\\temp')
关注
打赏
1665054478
查看更多评论
立即登录/注册

微信扫码登录

0.1986s