对文件的操作

1、打开文件,获取句柄

2、根据句柄操作文件

3、关闭文件

现有文档 poem.txt

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

  对文件的基础操作

 R = open('poem.txt', 'r')  #以只读的发方式打开文件,可以不加'r',默认是只读

 first_line = R.readline() #读取文件第一行,返回一个list

 print(first_line)

 Res = R.read() #获取除了第一行外余下的段落

 print(Res)

 R.close()

打开文件的模式

 r   #只读(默认)

 w   #只写【不可读,不存在则创建,存在则删除内容】

 a   #追加【不可读,不存在则创建,存在则只追加内容】

‘+’ 表示可以同时读写

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

文件的操作方法

 R = open('poem.txt', 'r+', encoding = 'utf-8')

 R.readline()      #读第一行

 R.readable()      #判断文件是否可读,返回一个布尔类型

 R.writable()      #判断文件是否可写,返回一个布尔类型

 R.encoding        #打印文件编码格式

 R.read()          #读取所有文件内容,如果文件过大,慎重使用

 R.readlines()     #读取所有文件,返回一个list,元素是每行内容,慎重使用

 R.tell()          #获取当前文件的指针指向

 R.seek()          #把当前文件指向某个指针

 R.write('短')     #写入当前内容

 R.flush()         #写入文件后,立即从内存将内容写到磁盘

 R.truncate()      #清空文件内容

 R.readlines(['短', '俄罗斯']) #将一个列表写入

 R.close()         #关闭文件

大文件的高效操作方法

 R = open('poem.txt')

 for line in R:

     print(line)

with 使用

 with open('poem.txt') as P:

     for line in P:

     print(line)

 with open('poem.txt') as  Pr, with open('poem_bak.txt', 'w') as Pw:

     for line in Pr:

     Pw.write(line)

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

 number = [1, 2, 4, 5, 2, 4, 6]

 s_number = set(number)                       #列表转变成集合

 number1 = set([1, 2, 4, 5, 2, 4, 6])         #同上

 number2 = {'linda', 'bluce', 'jack', 'rose'} #直接定义集合

集合的操作

 number1 = {1, 3, 4, 5, 2, 8}

 number2 = {2, 4, 9, 1}

 number3 = {1, 4, 2}

 print(number1.intersection(number2))    #取交集

 print(number1 & number2)  #取交集

 print(number1.union(list2))    #取并集

 print(number1 | number2)     #取并集

 print(number1.difference(number2)) #取差集,number1中存在,number2中不存在

 print(number1 - number2)  #取差集

 print(number3.issubset(number1))  #判断number3是不是number1的子集

 print(number1.issuperset(number3))  #判断number1是不是number3的父集

 print(number1.isdisjoint(number2))  #判断是否有交集

 print(number1.symmetric_difference(number2)) #对称差集,输出两个集合都没有的值

 print(number1 ^ number2)  #同上

 number1.add(12)   #添加元素

 number1.update([24, 25, 26])

 number1.remove(2)  #移除

 number1.pop() #随机删除,并返回删除元素

 number.discard('tom')  #存在删除,不存在不做处理

python 文件操作与集合的更多相关文章

  1. python文件操作和集合(三)

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作:         f = open('file.txt','r') #以 ...

  2. 初学Python——文件操作第二篇

    前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...

  3. Python基础篇【第2篇】: Python文件操作

    Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...

  4. [Python学习笔记][第七章Python文件操作]

    2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...

  5. Python文件操作与函数目录

    文件操作 python文件操作 函数 Python函数学习——初步认识 Python函数学习——作用域与嵌套函数 Python函数学习——匿名函数 python内置函数 Python函数学习——递归 ...

  6. day8.python文件操作

    打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file = open(file_name [, access_ ...

  7. 关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()

    嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折 ...

  8. Python之路Python文件操作

    Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...

  9. python 文件操作 r w a

    python基础-文件操作   一.文件操作 对文件操作的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件       打开文件时,需要指定文件路径和以何等方式打开文件, ...

随机推荐

  1. js 日期获去及格式化

    原文地址:http://www.cnblogs.com/qinpengming/archive/2012/12/03/2800002.html Js获取当前日期时间及格式化操作 var myDate ...

  2. 【转载】How long is “too long” for MySQL Connections to sleep?

    From:http://dba.stackexchange.com/questions/1558/how-long-is-too-long-for-mysql-connections-to-sleep ...

  3. Eclipse Jetty调试时无法保存js文件

    Jetty会使用内存映射文件来缓存静态文件,包括js,css文件. 在Windows下,使用内存映射文件会导致文件被锁定,所以当Jetty启动的时候无法在编辑器对js或者css文件进行编辑. 解决办法 ...

  4. IDEA的常用快捷键

    --------------在日常写代码的过程中自行整理出来----------------- *Alt+Enter 导入包 Ctrl+Alt+L 自动格式化代码 *Alt+Enter 自我修复 Sh ...

  5. [BZOJ1040] [ZJOI2008]骑士 解题报告

    Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火 ...

  6. 如何打开小米,oppo,华为等手机的系统应用的指定页面

    如题,拿Oppo 手机做个示例,小米 华为也是如此. 在编写Android应用的时候,我们经常会有这样的需求,我们想直接打开系统应用的某个页面.比如在Oppo R9 手机上我们想打开某个应用的通知管理 ...

  7. 微信小程序登录状态

    我们知道,WEB服务器通过浏览器携带的cookie获取session来判断是否是同一用户(或浏览器):Restful服务通过客户端传过来唯一ID,来识别调用用户. >为什么需要维护登录态? 有自 ...

  8. algorithm ch6 heapsort

    堆排序利用的是堆这种数据结构来对进行排序,(二叉)堆可以被视为一棵完全的二叉树,树的每个节点与数组中存放该节点的值得那个元素对应.这里使用最大堆进行排序算法设计,最大堆就是parent(i) > ...

  9. 解决xshell 、SecureCRT中文乱码

    一.解决xshell 中文乱码 在xshell命令行里面 输入: locale输出: LANG=zh_CN.UTF-8LC_CTYPE="zh_CN.UTF-8"LC_NUMERI ...

  10. Delphi字符串、PChar与字符数组之间的转换

    来自:http://my.oschina.net/kavensu/blog/193719 ------------------------------------------------------- ...