zoukankan      html  css  js  c++  java
  • python编程基础之三十六

    文件处理:文件处理包括读文件,写文件

    读文件:

      1、打开文件

      2、读取文件

      3、关闭文件

    写文件:

      1、打开文件

      2、写如文件

      3、关闭文件

    无论是读取文件还是写文件都时需要打开文件,和关闭文件

    打开文件:

    fp = open(file [, mode='r',  encoding=None, errors=None])

      file:文件路径,可以是相对路径和绝对路径

      mode:文件打开模式

     

    r 只读
    w 写之前会清空文件的内容
    a 追加的方式,在原本内容中继续写
    r+ 可读可写
    w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    b rb、wb、ab、rb+、wb+、ab+意义和上面一样,用于二进制文件操作

      encodeing: 文件编码方式,不用于二进制文件,一般是utf-8,gbk

        errors:指定如何处理编码和解码错误 ,适用于文本文件

      返回值:一个可迭代的文件对象一般用fp

    读取文件常用函数:

          read([size])          读取文件(读取size字节,默认读取全部),

          readline([size])    读取一行,如果指定size,将读入指定的字符数,    

          readlines()           把文件内容按行全部读入,返回一个包含所有行的列表

     1  #打开文件
     2 fp = open('qfile.txt','r',encoding='utf-8') 
     3 
     4 #读取文件全部内容
     5 #content = fp.read()  
     6 #print(content)
     7 
     8 #读取指定字符数,包括行尾的换行符
    
     9 # print(fp.read(20))
    10 
    11 #读取一行
    12 # print(fp.readline(5))  #读取指定字符数
    13 # print(fp.readline())  #读取一整行,直到碰到一个
    
    14 
    15 #读取所有行,返回列表
    16 # print(fp.readlines())  
    17 
    18  #关闭文件
    19 fp.close() 
    文件

    关闭文件 :fp.close

    文件的指针移动:file_obj.seek(offset,whence=0),

    第一个参数表示偏移量,必须是正数

    官方文件里面说的第二个参数whence可以是0,1,2

    0 表示开始文件开始位置,

    1 表示当前位置

    2 表示文件结尾

    但是使用1,2的时候总是报错,还没找到解决办法

    返回值是新的位置

    1 #1.txt内容:hello world
    2 with open('1.txt','r',encoding='utf-8') as fp:
    3     fp.seek(5)  #移动到hello后的空格位置
    4     print(fp.read(3))  #wo
    5     fp.seek(0)   #移动到开头
    6     print(fp.read(5))  #hello
    7     print(fp.tell())   #tell()显示当前指针位置
    文件指针移动

    文件操作还有csv操作,

    1 import csv
    2 with open(r'csvwinequality-red.csv') as fp:  #1.打开文件
    3     #delimiter指定分隔符
    4     csv_reader = csv.reader(fp,delimiter=';')  #2.获取csv读取器
    5     header = next(csv_reader) #获取第一行的标题
    6     print(header)
    7     for line in csv_reader: #3.遍历所有的行
    8         print(line)
    csv读取
    1 import csv
    2 l1 = [[1,2,3],[4,5,6],[7,8,9]]
    3 #打开文件时,要添加newline=''参数,否则会多一个空行
    4 with open('1.csv','w',newline='') as fp: #1.打开文件
    5     #delimiter='	'指定数据分隔符
    6     csv_writer = csv.writer(fp,delimiter='	')  #2.获取writer
    7     for line in l1:
    8         csv_writer.writerow(line)  #3.写入文件
    csv写入
  • 相关阅读:
    最全Linux应急响应技巧
    2016年总结
    idapython实现动态函数调用批量注释
    CVE-2015-7645 analyze and exploit
    CVE-2010-3654分析及利用
    apt28组织新的flash漏洞利用包dealerschoice分析
    Spartan Exploit Kit分析
    the beginner's guide to idapython
    一个windows下的ddos样本
    locky勒索样本分析
  • 原文地址:https://www.cnblogs.com/higer666/p/9459502.html
Copyright © 2011-2022 走看看