1.文件的基本定义: 文件是用来存储数据的,文件是存储在外存中的 若非存储介质损坏,文件可以永久存储数据.
2.文件的存储形式: 任何格式文件在计算机内部是以二进制形式字符序列存储的.
3.操作文件的步骤:
1.文件的打开; open(“路径”,“方式”) 当模式为"w"时,如果文件不存在,会先创建一个文件,然后以可写的方式打开; 注意文件的路径问题,如果目录不存在会报错; 关于文件的路径问题:可以用两个"\",也可以用"/"进行分隔; 关于访问模式,可见E盘的文档操作文件夹; 以二进制形式读写数据时,以二进制形式打开该文件,是字符串二进制数据; "w"与"a"区别:都是写,但是w会覆盖源文件.a是在结尾追加; “r+”/"w+"支持读写:区别是:以 "r+"方式打开时,若文件不存在会报错,以"w+"方式打开时,若文件不存在会创建新文件; 2.文件的读写; 读取方式: 1.f.read() 不写参数,一次读取(一次全拿出来)全部数据文件,适用于数据比较少的情况.2.f.read(n) 一次读取n个字符 返回一个字符串类型的数据 读不完的会在当前相对位置接着读,并不会返回"0"位置3.f.readline(n) 一次读取一行,n表示读取一行中的几个字符.(复制时常用)4.f.readlines() 每一行作为列表的一个元素,输出列表. 3.文件的关闭. f.close() 注:在Python中亦如此.4.文件的复制: ex:E:\exercise\day_08\day_08_文件的复制
1.打开两个文件,一个只读(源文件),一个可写(目标文件);2.while无限循环读取文件中的数据,每次一行;3.把读到的一行数据写入;4.关闭两个文件.5.文件的定位读写:
1.tell方法: 获取当前的位置,f.tell()无参.2.seek方法: # Python3中非二进制文件offset和whence中至少有一个参数必须设置为0. # 也就是说,要修改非初始位置时,读写方式必须为二进制,即"rb"或"rb+"“rw+” 修改当前的位置,f.seek(offset,whence) offset:偏移量 whence:从何位置何方向: 0:表示文件开头 1:表示到当前位置 2:表示文件末尾注:此时,如果想要让当前位置进行相对偏移,现在有两种方法: 1:seek()方法; 2:read()方法;让其读取几个字符,当前位置会发生改变.6.os方法:
1.文件的重命名: os.rename(“旧名字”,“新名字”) 修改当前目录下的文件名字2.获取当前目录: os.getcwd() 返回当前文件的根目录,默认就是工程的根目录3.切换目录: os.chdir() 不写路径,默认是切换当前目录下的文件/写路径可以切换其他目录文件/文件存在会报错4.获得目录列表: 获得指定目录下的文件和文件夹的列表 os.listdir() 里面无参传递:返回此目录下的文件列表. 传参: 指定目录下的文件列表,包括隐藏文件5.删除文件夹: 如果目录下面有子文件或子文件夹,则报错.(若要删除,必须先清空) os.rmdir(目录名) 要想删除指定路径的文件,一定要写全目录名6.删除文件: os.remove(文件名) 如果文件不存在,会报错找不到文件.7.创建文件夹: os.mkdir(文件夹名字) 如果文件夹已经存在,则会报错已存在该文件.7.批量修改文件名: 步骤: 1.获取目标文件路径(os.chdir()) 2.获取当前文件列表,并设置一个变量用来接收其返回值.(file_list = os.listdir()) 3.遍历文件列表得到每个文件名 4.边遍历边重命名.(os.rename())
8.eval方法: 可以把含有相关容器特征的字符串转成相关容器.
语法: eval(source[, globals[, locals]]) -> value参数: source:一个Python表达式或函数compile()返回的代码对象 globals:可选。必须是dictionary locals:可选。任意map对象9.repr()方法:
将Python的变量和表达式转换为字符串表示
