zoukankan      html  css  js  c++  java
  • 笔记||Python3之文件的读写

    【文件的读模式】

               文件的对象:文件的读写通过文件操作对象进行。

                      Python2  -----  File

                      Python3  -----  TextIOWrapper

               文件的打开:

                      内置函数open(file,mode)   ---  打开文件,获取文件操作对象。

                      一定要有file文件路径(路径、文件名、文件格式)  否则报错。

                      fo = open(fileDir)   -----  只读

               路径的写法:①绝对路径 ----- 从根目录开始的

                                ②相对路径 ------ ./当前位置    ../ 上一级

                                fileDir = 'C:/test.txt'

                                fileDir = 'C:\test.txt'

                                fileDir = r'C: est.txt'  ---  取消转义

                读模式:如果该文件不存在会报错!

                           fo = open(dileDir, 'r')   <==>  fo = open(fileDir)

                           fo.tell()   -------------- 从0开始    显示指针位置

                           fo.read(2)  ------------ 读2个字符

                           fo.read() -------------- 读全部内容

                           文件中的换行是2个长度       'a b'  -----  字符串中是一个

                           fo.close()  --- 关闭文件

                移动文件指针位置:seek()

                          0模式: --- 绝对位置模式  fo.seek(1,0)   从0开始  一般像txt、log        r

                                            前提:python3 一定在'rb'模式下 ---- 二进制模式 --- 非文本文件(图片)     

                          1模式:当前位置开始移动  fo.seek(移动的位数,模式1)  -----  如:fo.seek(-1, 1)        rb

                                       移动的位数 正数:向后移  负数:向前移

                           2模式:  ---从尾部位置开始   fo.seek(-1,2)          rb

                                             移动的位数  正数:向后移  负数:向前移

                           代码例子:

                           fileDir = 'C:/test.txt'

                           fo = open(fileDir, 'rb')     # 打开文件

                           print('读前',fo.tell())     # 显示指针当前位置

                           print(fo.read(2))            # 读2个字符

                           print('读后',fo.tell())    # 再次显示指针当前位置

                           fo.seek(2,2)                 # 移动向后移动两位

                           print(‘移动后’,fo.tell())  # 再一次显示指针当前位置

                 readline:  读取一行

                           1 - 该方法返回是print(type(fo.readline())) --- <class 'str'>

                           2 - 文件指针会做相应的偏移

                 readlines:读取所有行

                           1 - 该方法返回的是print(type(fo.readlines())) --- <class 'list'>

                     区别:① fo.read()   -------- 返回str

                                ② fo.readlines() -------- 返回是list

                           2 - fo.read().splitlines()  --- 返回list  而且去掉换行符

    =================================================================================

    【文件写模式】:

                          写模式特点:可以新建文件,若文件不存在则会创建一个新文件;

                                                如果写模式打开一个文件,所有的内容会被清空。 

                         1 - fo = open(fileDir, 'w')

                         2 - 如果该路径下的文件存在 --- 会清空

                         3 - 如果该路径下的文件不存在 ---- 会新建

                         4 - 在pycharm里面,你执行了fo.write('123') ----- 可以直接写进去

                         5 - fo.write('123') --- 返回值  ---- 写的字符长度

                         6 - fo.flush()  强行写入文件

                         7 - fo.close()   关闭文件会强行写入文件

    追加模式 a:只是为了在文件末尾追加内容而打开文件

    with open方式:

                         1 - with open(fileDir) as rFile:    ------等价于---------   rF = open(fileDir)

                         2 - 可以省略fo.close()

                         3 - 操作多个文件

    seek: 1 - (1,模式) ---  0模式 ---- 绝对位置,从0开始

                 2 - (1,模式) --- 1模式 ---- 当前位置,开始

                 3 - (1,模式) --- 2模式 ---- 尾部位置,开始

    例子:

               fileDir2 = open('C:/text.txt', 'w')

               fileDir2.write('123456')   # 一定是str

               # 如果写入时,需要换行时,应该怎么做?

               fileDir2.write('01-test'+' ')

               fileDir2.write('02-test')

               fileDir2.flush()    # 写入

               fileDir2.close()   # 关闭  同样也会保存

  • 相关阅读:
    vue中computed计算属性和methods区别
    java解决跨域问题
    redis服务端开启
    使用excel生成商品条形码
    MySQL主键自增时SQL写法/当前时间写法
    修改MySQL数据库密码
    MySQL5.6.42解压版安装教程
    完全卸载MySQL数据库
    IDEA快捷键及xml文件中网址报错
    IDEA导入外部包
  • 原文地址:https://www.cnblogs.com/peipei-Study/p/11928619.html
Copyright © 2011-2022 走看看