Python (文件操作)

一、文件操作方式

  1. 打开文件 open
  2. 操作文件 read or write
  3. 关闭文件 close

二、打开文件的方式(第一种)

  1. 语法 :

    f=open("文件",mode="模式",encoding="编码")

    • open() # 调用操作系统打开文件
    • mode() # 对文件的操作方式,("")内填入文件的操作方式.
    • encoding= # 文件的编码,=""跟着编码方式
    • f # 文件句柄
  2. 注意 : 使用原生字符可以解决\的问题,在"文件"前加r)

    # 不使用r时
    f=open("D:\\Git\\Git存储\\学习.txt",mode="r",encoding="UTF-8")
    # \\用来和python中的一些关键字做区分,不用\\表示可能会出错
    ---------------------------------
    # 使用r时
    f=open(r"D:\Git\Git存储\学习.txt",mode="r",encoding="UTF-8")
    # 此时的r是repr的简称,repr作用是保持原始状态消除关键字功能.

三、文件操作方式 (注意 : 换行符\n)

  1. r w a 操作的都是文本

    读 : r (读后光标会移动到最后)

    • f.read() # 读取全部,()内可以加入数字,代表按照字符读取
    • f.readline() # 读取一行内容内的多个字符
    • f.readines() # 一行一行读取,存储到列表中

    写 : w a (w时没有文件创建文件,有文件分两步,先清空在写入)

    • w时,f.write() # 文件开头写入
    • a时,f.write() # 文件末尾写入
  2. r+(读写),w+(写读),a+(追加写读)

    • 后期开发中使用频率比较低,使用时注意光标位置
  3. rd r+d wb w+bab 操作非文本文件

    • 读取本地非文本文件时,读方式和操作读文本方式一样,只需要注意文件类型并且操作方式改成rd即可

      f = open("1.jpg",mode="rb")
      print(f.read()) # read() 全部读取
      print(f.read(3)) # 字节
    • 下载并保存网络文件时,需要调用import requests,实例如下

      import requests
      ret=requests.get("http://www.521609.com/uploads/allimg/151124/1-1511241G251317.png")
      f = open("2.jpg",mode="wb")
      f.write(ret.content)
      f.close()

四、文件其它操作方式

  1. f.tell() # 查看光标所在的字节位置,会有返回值,返回值就是当前光标的位置

  2. f.seek(偏移量,位置) # 移动光标字节位置

    • 偏移量 : 按照字节来算,与所用的文件编码有关.

    • 位置 : 0代表开头位置,1代表当前位置,2代表末尾位置

      seek(0,0) # 文件开始位置
      seek(0,1) # 光标的当前位置
      seek(0,2) # 文件末尾位置
      seek(3) # 按照字节调节,使用utf-8汉字是3,gbk汉字是2

五、文件路径分类

  1. 绝对路径 : 从磁盘的跟处查找

  2. 相对路径 : 相对于当前文件进行查找,../代表上一级,查看当前工作路径调用 import os

    import os
    print(os.getcwd()) # 查看当前工作路径

六、文件安全读取方式

  • 运用for迭代方式直接对f进行迭代读取,不会因为文件过大,撑爆内存.

    f=open("文件",mode="模式",encoding="编码")
    for i in f:

七、打开文件的方式(第二种)

  1. 语法 :

    with open("文件路径1",mode="操作方式",encoding="编码方式") as f1,

    open("文件路径2",mode="操作方式",encoding="编码方式") as f2 :

    lis=[]
    num=1
    with open("a1",mode="r",encoding="utf-8") as f:
    for r in f: # 注意缩进
    dic = {}
    lis1=r.strip().split(" ")
    if num==1:
    lis2=lis1.copy()
    else:
    for i in range(len(lis2)):
    dic[lis2[i]]=lis1[i]
    lis.append(dic)
    num+=1
    print(lis)
  2. 作用 :

    • 此方式系统会自动帮助关闭文件
    • 可以同时操作多个文件
    • 可以同时操作一个文件.

8.Python初窥门径(文件操作)的更多相关文章

  1. Python :open文件操作,配合read()使用!

    python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...

  2. Python 常见文件操作的函数示例(转)

    转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...

  3. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  4. 孤荷凌寒自学python第三十三天python的文件操作初识

     孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...

  5. python中文件操作的六种模式及对文件某一行进行修改的方法

    一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...

  6. python中文件操作的其他方法

    前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r', ...

  7. Python常见文件操作的函数示例

    # -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...

  8. python的文件操作及简单的用例

    一.python的文件操作介绍 1.文件操作函数介绍 open() 打开一个文件 语法:open(file, mode='r', buffering=-1, encoding=None, errors ...

  9. python基本文件操作

    python文件操作 python的文件操作相对于java复杂的IO流简单了好多,只要关心文件的读和写就行了 基本的文件操作 要注意的是,当不存在某路径的文件时,w,a模式会自动新建此文件夹,当读模式 ...

随机推荐

  1. Android Weekly Notes Issue #319

    Android Weekly Issue #319 July 22nd, 2018. Android Weekly Issue #319 本期内容包括: MotionLayout加动画; Kotlin ...

  2. LightOJ 1070 Algebraic Problem:矩阵快速幂 + 数学推导

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1070 题意: 给你a+b和ab的值,给定一个n,让你求a^n + b^n的值(MOD ...

  3. 无言以队Alpha阶段项目复审

    小组的名字和链接 优点 缺点,bug报告 (至少140字) 最终名次 (无并列) 甜美女孩 http://www.cnblogs.com/serendipity-zeng/p/9937832.html ...

  4. C语言中的文件操作

    按照字符的方式读取文件 按照行的方式读取文件 按照数据块的方式读取文件 按照格式化的方式读取文件 文件分类 记录文件:具有一定的结构记录组成,分为定长和不定长两种方式 流式文件:按照一个字符一个字符( ...

  5. Call to unavailable function 'system': not available on iOS

    使用Xcode 9 导入cocos2d-x 项目,报错 Call to unavailable function 'system': not available on iOS 原因很简单,就是ios ...

  6. sed 中带变量的情况

    #teststr="IBM" #sed -n '/' "$teststr" '/=' testfile.txt 在sed中使用变量 通常,我们使用sed进行变量 ...

  7. OpenCode:template

    ylbtech-OpenCode: 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   作者:ylbtech出处:http://ylbtec ...

  8. JS---设计简易日历

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. python UnicodeEncodeError: 'ascii' codec can't encode characters 解决办法

    程序直接运行没有问题,一旦用nohup python test.py 执行遇中文就报python UnicodeEncodeError错误: 最终测试出的解决方法为,在开头添加红色的三句: #!/us ...

  10. WPF访问UserControl的自定义属性和事件

    要实现外部窗体能直接访问UserControl的属性必须把UserControl的属性定义为依赖属性: 一,在UserControl.cs中为TextBox控件的Text建立依赖属性,输入" ...