python入门之排序,文件操作
排序
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)
python入门之排序,文件操作的更多相关文章
- python入门三:文件操作
一.文件操作 1.文件对象:和c一样,要想对一个文件进行操作,需要获取该文件的对象 f = open("xxx") # 打开文件并获取文件对象 f.xxx # 对文件进行某些操作 ...
- Python 入门基础7 --文件操作
今日目录: 一.文件处理 1.什么是文件 2.为何用文件 3.如何用文件 4.文件操作 5.常用方法 6.文件内指针的移动 7.with的使用 一.文件处理 1. 什么是文件 文件是操作系统为用户/应 ...
- python入门学习:3.操作列表
python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表 循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...
- python函数基础 与文件操作
函数的定义 函数是通过赋值传递的,参数通过赋值传递给函数.def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: def function_name(arg1,arg2[,.. ...
- Python之旅Day3 文件操作 函数(递归|匿名|嵌套|高阶)函数式编程 内置方法
知识回顾 常见五大数据类型分类小结:数字.字符串.列表.元组.字典 按存值个数区分:容器类型(列表.字典.元组) 标量原子(数字.字符串) 按是否可变区分:可变(列表.字典) 不可变(数字.字符串.元 ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- Python基础7:文件操作
[ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...
- Python 第三天 文件操作(2)
文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和 fi ...
- python学习笔记4(文件操作)
文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”) 直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...
随机推荐
- Codeforces Round #385 (Div. 2) Hongcow Builds A Nation —— 图论计数
题目链接:http://codeforces.com/contest/745/problem/C C. Hongcow Builds A Nation time limit per test 2 se ...
- CSU-1531 Jewelry Exhibition —— 二分图匹配(最小覆盖点)
题目链接:https://vjudge.net/problem/CSU-1531 Input Output Sample Input 2 1 5 3 0.2 1.5 0.3 4.8 0.4 3.5 4 ...
- Zookeeper实现负载均衡原理
先玩个正常的,好玩的socket编程: 服务端: 首先公共的这个Handler: package com.toov5.zkDubbo; import java.io.BufferedReader; i ...
- 关于Ajax实现的简单示例
一.代码示例 关于Ajax的基本概念(包括XMLHttpRequest对象及其相关方法属性)移步这里(w3school中文版)学习了解. <!doctype html> <html ...
- Python ip与数字的转换方式
例子:IP:192.168.1.10 方法一: In [1]: bin(192)Out[1]: '0b11000000' In [2]: bin(168)Out[2]: '0b10101000' In ...
- tabbar 设置样式
app.json配置文件中,使用时需要把注释删除,配置文件不支持备注 tabbar:{ color:'#fff',//字体颜色 需要时HexColor,设置成red 无法识别,下方颜色设置同理 se ...
- CS231n 2016 通关 第四章-反向传播与神经网络(第一部分)
在上次的分享中,介绍了模型建立与使用梯度下降法优化参数.梯度校验,以及一些超参数的经验. 本节课的主要内容: 1==链式法则 2==深度学习框架中链式法则 3==全连接神经网络 =========== ...
- ubuntu 禁止错误信息 report 问题弹出
发现ubuntu只要出现点问题就会提示要不要report error, 光点cancel就点烦了. 而且今天重新安装了一台ubuntu结果开机就蹦出error, 好烦啊. 下面说个特别有效的解决办法, ...
- Notice:Array to string conversion的问题
如果后台或者前端输出这样的提示: Notice: Array to string conversion 原因是:用 echo 来输出数组,当然会报错,数组应该用print , print_r , 或 ...
- window.showModalDialog 在谷歌Uncaught TypeError: undefined is not a function
if(navigator.userAgent.indexOf("Chrome") >0 ){var winOption = "height="+heigh ...