排序

  li.sort()  对li列表从小到大排序,直接更新li列表

  sorted(li)  返回一个li排序后的列表,并非直接对li作更新

  列表元素必须是同一种数据类型

文件操作

  打开文件:

    f = open(文件名,模式,编码)

      以某种方式某种编码打开某文件,会返回一个对象(文件名最好写绝对路径,默认只读模式r)

      模式:  

r     只读,默认。读取的是字节,默认以utf-8编码转换成字符串,所以取得的是字符串,也可以自己设置编码。有中文的话可能要设置utf-
w 只写,不可读。文件不存在则自动创建,文件存在则会自动把文件清空,只要以只写打开,就会清空文件。
x 只写,不可读。文件不存在则自动创建,文件存在直接报错
a 追加,不可读。文件不存在则自动创建,文件存在则追加 rb 只读。读取的是字节,取得的数据也是字节。不用设置编码
wb 只写。写入字节,写入的话,必须将写入的字符串转换为字节,然后再写入
xb 同上
ab 同上 r+ 读写。读文件read(),会有一个指针,第一次读,指针在第一行行首,读完之后指针会移到最后(读到哪儿,指针移到哪儿),每次读都是读的指针以后的数据,这时写入数据,指针依然往后排,这时读取的话,是空的。不管开始指针的位置在哪儿,只要写入,那么只能追加在最后,指针也会移到最后(r+的写是追加在末尾)
w+ 写读。打开文件时已先清空文件,然后再写,接着再读,读的是刚才写的数据,但是写了之后,指针跑到末尾了,所以在读之前需要调整指针的位置
x+ 写读。和w+差不多,只是如果文件存在,则会报错
a+ 写读。打开文件的同时,已经将指针移到最后了 r+b 以二进制读写
w+b
x+b
a+b

  

  指针操作:

    f.tell()  返回指针的位置,为0表示起始位置,返回的数字是按字节排的,指针在第多少个字节后就是返回值。返回3,表示在第一个汉字之后。

    f.seek(0)  将指针移到起始位置,也可以移动到其他位置,根据里面传的数字

  

  读取、关闭文件:

data = f.read()    读取文件,默认全部读取,加参数数字,就读取多少个字符
f.close() 如果不执行这条关闭,当代码写入数据后,程序还没执行完,再重新修改文件内容,那么其他程序来读取文件时就读的是后面修改后的内容,然后程序执行完后,再去读取文件,读取的是开始写入的内容(因为程序没终止,写入的内容还在内存里,当程序终止了就写入文件里了)
f.flush() 刷新文件内部缓冲区。当写入数据时,是写在内存里的,在程序执行完后才写入文件里,而这个函数是将内存里的数据直接加载写到文件里,即使程序还在运行当中 f.readline() 仅读取一行数据
f.truncate() 截取指针前的数据,后面的都删掉 for line in f:
print(line)
一行一行的读取所有数据,这样避免文件太大,导致内存不足 with open("filename","r") as f:
f.read()
不用close,会自动close with open("file1") as f1,open("file2") as f2:
pass
同时打开两个文件(这个功能在2.7及2.7以后版本才有)
作用:拷贝一个很大很占内存的文件到另一个文件,一般都是把这个文件先放到内存里,然后再拷到另一个文件。用with同时打开两个文件,一个为源文件,以只读打开,另一个新文件,以只写打开,这样就可以一行一行的从源文件拷到新文件里
拷贝过程:
for line in f1:
f2.write(line)

最新文章

  1. NFC读写实例
  2. Windows Server 2012 R2在线安装.NET Framework3.5
  3. AC日记——校门外的树(增强版) 洛谷 P1276
  4. java beans
  5. hbase region 分配方式
  6. [iOS开发]TextKit之动态改变样式
  7. c#获取数组中最大的元素
  8. codeforces A. Orchestra B. Island Puzzle
  9. Go终端读写
  10. 详解AMD规范及具体实现requireJS在工程中的使用
  11. UOJ277【清华集训2016】定向越野(计算几何,最短路)
  12. cf1144E 假高精度平均数
  13. 28.OGNL与ValueStack(VS)-总结$ # %的区别
  14. linux / centos 安装SQL Server 2017 设置默认语言与排序规则Chinese_PRC_CI_AS
  15. Maven学习(十)-----使用Maven创建Java项目
  16. 每日英语:Do Successful People Need Sleep?
  17. 股神 C++
  18. luogu P1979 华容道
  19. Web服务器父与子 Apache和Tomcat
  20. ajax_基础

热门文章

  1. Matlab小技巧之怎么复制汉字
  2. Java线程面试题 Top 50(转载)
  3. html5 3D圣诞树源码
  4. linux安装netcat 运行udp服务器
  5. liunx下解压压缩命令详细介绍
  6. C++可移植性和跨平台初探
  7. linux下printf函数为什么不加\n就不能输出相关的内容 ?
  8. SQL repeat()函数
  9. Java中next() 与 nextLine() 区别
  10. python---socket与socketserver