码迷,mamicode.com
首页 > 编程语言 > 详细

python中的文件操作

时间:2019-06-17 20:46:49      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:上下   adl   重命名   coding   移动   删除   文件句柄   操作文件   完成   

一、文件代开及修改

1. f = open("文件路径", mode="r、w、a", encoding("编码集"))

  1. 文件路径:可以是相对路径(在写项目时一定要用相对路径)也可以是绝对路径
  2. mode:r、w、a、rb、wb、ab、r+、w+、a+
  3. encoding:与文件对应的编码集
  4. f.close 对文件操作完成后要及时关闭,不然会一直占用系统内存
  5. 只能打开一个文件
  6. f 文件句柄,操作文件时的一个”把“

2. with open ("文件路径", mode="r、w、a", encoding("编码集")) as f1,open ("文件路径", mode="r、w、a", encoding("编码集")) as f2

  1. 面向对象中的上下文管理
  2. 文件路径:可以是相对路径(在写项目时一定要用相对路径)也可以是绝对路径
  3. mode:r、w、a、rb、wb、ab、r+、w+、a+
  4. encoding:与文件对应的编码集
  5. 可以打开多个文件,也可以同时将一个文件打开两次
  6. with open不用手动输入f.close
  7. f 文件句柄,操作文件时的一个”把“

3. 文件修改

import os

  1. os.remove(f1) 删除文件
  2. os.rename(f"old",”new“) 给文件重命名(和repalce用法类似)

二、文件的读和写(r、rb、w、wb、a、ab)

rb、rb、ab 不用指定编码集

1. r或rb

  1. f.read() 一次全部读出来,内存容易溢出,()内可以输入数字 数字代表要读取字符的个数,会随着字符个数换行
  2. f.readline() 一行一行的读,()内可以输入数字 数字代表要读取字符的个数,数字再大也不会读到下一行
  3. for i in f: 利用 for 循环一行一行读取所有内容
  4. f.readlines() 一次将所有内容读取到一个列表中,()内可以输入数字,但是根据数字范围定位到文件的对应行数,读取时只会一行为单位进行

2. w或rb

  1. 在第一次写的时候会清除文件所有的内容,只要不f.close就会一直继续往后写
  2. 如果要写的文件不存在会在选定路径里创建一个新的文件
  3. 写入的时候不能写入数字

3. a或ab

  1. 在文件的最后追加写

三、 文件的读写、写读、追加写读

1. 读写 r +

  1. 先写后读 写会从头开始并且会覆盖文件的内容,读会从写的结束位置开始(错误)
  2. 先读后写 读完后写会在文件最后开始写

2. 写读

  1. 先读后写,先写后读,都是清空写
  2. 除非自己手动移动光标不然怎么也读不到文件内容

3. 追加写读

  1. 先读后写,先写后读,都是在文件后面追加写

四文件的其他操作

  1. f.tell 查看光标的位置
  2. 光标的操作 seek
    • seek(0, 0) 把光标移动到文件的开始位置
    • seek(0, 1) 把光标移动到光标的当前位置
    • seek(0, 2) 把光标移动到文件的结束位置
    • seek(n) 把光标移动到距离开始位置n个字节的位置

python中的文件操作

标签:上下   adl   重命名   coding   移动   删除   文件句柄   操作文件   完成   

原文地址:https://www.cnblogs.com/mahedong/p/11041882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!