• python 文件操作与集合


    对文件的操作

     1、打开文件,获取句柄

     2、根据句柄操作文件

     3、关闭文件

    现有文档 poem.txt

    一天很短,
    短得来不及拥抱清晨,
    就已经手握黄昏。
    
    一年很短,
    短得来不及细品初春殷红窦绿,
    就要打点素裹秋霜。
    
    一生很短,
    短的来不及享用美好年华,
    就已经身处迟暮。
    
    总是经过的太快,
    领悟的太晚,
    我们要学会珍惜。
    珍惜人生路上的亲情、友情、
    同事情、同学情、朋友情。
    一旦擦身而过,
    也许永不邂逅
    

      对文件的基础操作

     1 R = open('poem.txt', 'r')  #以只读的发方式打开文件,可以不加'r',默认是只读
     2 
     3 first_line = R.readline() #读取文件第一行,返回一个list
     4 
     5 print(first_line)
     6 
     7 Res = R.read() #获取除了第一行外余下的段落
     8 
     9 print(Res)
    10 
    11 R.close()

    打开文件的模式

    1 r   #只读(默认)
     
    3 w   #只写【不可读,不存在则创建,存在则删除内容】
     
    5 a   #追加【不可读,不存在则创建,存在则只追加内容】

    ‘+’ 表示可以同时读写

     1 r+ [可读、可写、可追加,如果打开的文件不存在,则报错] 2w+ [写读模式,已经存在的内容清空,可以读到写的内容] 3 a+ [追加读写模式,不存在则创建,存在则只追加内容] 

    文件的操作方法

     1 R = open('poem.txt', 'r+', encoding = 'utf-8')
     2 
     3 R.readline()      #读第一行
     4 
     5 R.readable()      #判断文件是否可读,返回一个布尔类型
     6 
     7 R.writable()      #判断文件是否可写,返回一个布尔类型
     8 
     9 R.encoding        #打印文件编码格式
    10 
    11 R.read()          #读取所有文件内容,如果文件过大,慎重使用
    12 
    13 R.readlines()     #读取所有文件,返回一个list,元素是每行内容,慎重使用
    14 
    15 R.tell()          #获取当前文件的指针指向
    16 
    17 R.seek()          #把当前文件指向某个指针
    18 
    19 R.write('')     #写入当前内容
    20 
    21 R.flush()         #写入文件后,立即从内存将内容写到磁盘
    22 
    23 R.truncate()      #清空文件内容
    24  
    25 R.readlines(['', '俄罗斯']) #将一个列表写入
    26 
    27 R.close()         #关闭文件

    大文件的高效操作方法

    1 R = open('poem.txt')
    2 
    3 for line in R:
    4     
    5     print(line)

    with 使用

     1 with open('poem.txt') as P:
     2 
     3     for line in P:
     4     
     5     print(line)
     6 
     7 with open('poem.txt') as  Pr, with open('poem_bak.txt', 'w') as Pw:
     8 
     9     for line in Pr:
    10 
    11     Pw.write(line)

     集合:也是一种数据类型,特点是无序

    1 number = [1, 2, 4, 5, 2, 4, 6]
    2 
    3 s_number = set(number)                       #列表转变成集合
    4 
    5 number1 = set([1, 2, 4, 5, 2, 4, 6])         #同上
    6 
    7 number2 = {'linda', 'bluce', 'jack', 'rose'} #直接定义集合

    集合的操作

     1 number1 = {1, 3, 4, 5, 2, 8}
     2 
     3 number2 = {2, 4, 9, 1}
     4 
     5 number3 = {1, 4, 2}
     6 
     7 print(number1.intersection(number2))    #取交集
     8 
     9 print(number1 & number2)  #取交集
    10 
    11 print(number1.union(list2))    #取并集
    12 
    13 print(number1 | number2)     #取并集
    14 
    15 print(number1.difference(number2)) #取差集,number1中存在,number2中不存在
    16 
    17 print(number1 - number2)  #取差集
    18 
    19 print(number3.issubset(number1))  #判断number3是不是number1的子集
    20 
    21 print(number1.issuperset(number3))  #判断number1是不是number3的父集
    22 
    23 print(number1.isdisjoint(number2))  #判断是否有交集
    24 
    25 print(number1.symmetric_difference(number2)) #对称差集,输出两个集合都没有的值
    26 
    27 print(number1 ^ number2)  #同上
    28 
    29 number1.add(12)   #添加元素
    30 
    31 number1.update([24, 25, 26])
    32 
    33 number1.remove(2)  #移除
    34 
    35 number1.pop() #随机删除,并返回删除元素
    36 
    37 number.discard('tom')  #存在删除,不存在不做处理
  • 相关阅读:
    fadeIn()与fadeOut()方法
    js常用正则表达式(经典)
    正则表达式大全
    slideDown()和slideUp()方法
    toggle()显示/隐藏的用法
    skip-grant-tables 修改linux的mysql忘记root密码
    基于Vue、web3的以太坊项目开发及交易内幕初探 错误解决总结
    MySQL linux错误处理
    求职 firekylin
    如何编写一个可升级的智能合约
  • 原文地址:https://www.cnblogs.com/wuxiaoyu-1537/p/7381645.html
Copyright © 2020-2023  润新知