上一章最后一题的答案:
infors.sort(key=lambda x:x['age'])
print(infors)
--->[{'name': 'laowang', 'age': 23}, {'name': 'ab', 'age': 34}, {'name': 'bf', 'age': 43}]

python基础(三):

文件打开和关闭:

打开:

可以用open函数打开一个已经存在的文件或者创建一个新的文件,

open('文件名','访问模式)

f = open('test.txt','w')

访问模式 说明
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

关闭:

close()

    # 新建一个文件,文件名为:test.txt
f = open('test.txt', 'w') # 关闭这个文件
f.close()

文件读写:

读(read):

我有一个 1.text 的文档,文档里面的内容是

'''Python just let be

I fell in love with you watching Casablanca '''

接下来我要对这个文档进行操作

使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据


f = open('1.txt','r')

Text = f.read(7) #长度为7
print(Text)
f.close()
--->Python

如果使用读了多次,那么后面读取的数据是从上次读完后的位置开始的f = open('1.txt','r')


Text = f.read(7)
print(Text)
postion = f.tell() #tell()可以查看当前阅读到的位置
print(postion) Text_2 = f.read(4)
postion_2 = f.tell()
print(Text_2)
print(postion_2) f.close() --->

  Python
  7
  just
  11


读(readlines)

readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素

Text = f.readlines()
for i in Text:
print(i)
f.close()
--->

Python just let be

I fell in love with you watching Casablanca


写(write)

使用write()可以完成向文件写入数据

f = open('test.txt', 'w')
f.write('hello world, i am here!')
f.close()

文件定位:

获取当前读写的位置:

在读写文件的过程中,如果想知道当前的位置,可以使用tell()来获取

Text = f.read(7)
print(Text)
postion = f.tell() #tell()可以查看当前阅读到的位置
print(postion) Text_2 = f.read(4)
postion_2 = f.tell()
print(Text_2)
print(postion_2) f.close() --->
  Python
  7
  just
  11

定位到某个位置:

如果在读写文件的过程中,需要从另外一个位置进行操作的话,可以使用seek()

seek(offset, from)有2个参数

  • offset:偏移量
  • from:方向
    • 0:表示文件开头
    • 1:表示当前位置
    • 2:表示文件末尾
 f = open('1.txt','rb')

 str = f.read(6)
postion = f.tell()
print(str)
print(postion) f.seek(-10,2) #from =2
str_2 = f.read()
print(str_2)
f.close() --->

b'Python'
6
b'Casablanca'

文件和文件夹的相关操作:

重命名:

os模块中的rename()可以完成对文件的重命名操作

rename(需要修改的文件名, 新的文件名)

import os
os.rename('1.txt','1_1.txt')

删除:

import os
os.remove('1_1.txt')

文件夹操作:

创建文件夹:

os.mkdir('test')

获取当前目录:

os.getcwd()

改变默认目录:

os.chdir('../')

获取目录列表:

os.listdir('../')

删除文件夹:

os.rmdir('test')

初识python 文件读取 保存的更多相关文章

  1. python文件读取和写入案例

    python文件读取和写入案例  直接上代码吧 都是说明 百度上找了很多,最终得出思路 没有直接可以读取修改的扩展,只能先读取,然后复制一份,然后在复制出来的文件里面追加保存 然后删除读的那个,但是缺 ...

  2. Python文件读取和数据处理

    一.python文件读取 1.基本操作 读取文件信息时要注意文件编码,文件编码有UFT-8.ASCII或UTF-16等. 不过在python中最为常用的是UTF-8,所以如果不特别说明就默认UTF-8 ...

  3. Python——文件读取

    我们经常需要从文件中读取数据,因此学会文件的读取很重要,下面来介绍一下文件的读取工作:     1.读取整个文件     pi_digits.text 3.1415926535 8979323846 ...

  4. Python 文件读取

    1. 最基本的读文件方法: # File: readline-example-1.py file = open("sample.txt") while 1: line = file ...

  5. python --文件读取数据

    读取整个文件: 首先创建一个文件,例如我创建了一个t x t文件了. 然后我想读取这个文件了,我首先将上面的这个文件保存在我即将要创建的Python的文件目录下, 即读取文件成功. 解析: 函数ope ...

  6. python文件读取

    1.如何将一个“lessons.txt”文档一行行输出? myfile = file(‘lessons.txt’) for f in myfile.readlines(): print f myfil ...

  7. Python文件读取编码错误问题解决之(PyCharm开发工具默认设置的坑。。。)

    刚接触Python学习,正准备做个爬虫的例子,谁知道代码一开始就遇到了一个大坑,狂汗啊. 问题是这样的:我通过代码爬取了博客园首页的HTML代码并存入到blog.txt文件当中,然后准备读取出来之后进 ...

  8. Python文件读取常用方法

    1. 关于读取文件 f.read() 读取文件中所有内容 f.readline() 读取第一行的内容 f.readlines() 读取文件里面所有内容,把每行的内容放到一个list里面 注:因为文件指 ...

  9. 超级基础的python文件读取

    读取文件的两种方式: 1.使用os的open函数: import sys,os r=open("data1.txt","r+") fr=r.readlines( ...

随机推荐

  1. March 3 2017 Week 9 Friday

    Each time you love, love as deeply as if it were forever. 如果爱,请深爱,就像能到地老天荒. If we can only encounter ...

  2. *Amazon problem: 234. Palindrome Linked List (reverse the linked list with n time)

    Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...

  3. 特殊权限的介绍 SGID SUID SBIT

    Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin/passwd这个文件的权限状态:“-rwsr-xr-x.”,此时就被称为Set UID,简称为SUID.那么这个特殊权限的 ...

  4. 线段拟合(带拉格朗日乘子,HGL)

    线段特征上的扫描点满足 (1).本文的线段特征定义为:L: [dL, φL, PLs, PLe]T,如图1所示.其中,dL为笛卡尔坐标系中原点(激光传感器所在位置)到线段的距离, φL为线段特征的倾角 ...

  5. 43. Multiply Strings 字符串相乘

    1. 原始题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = "2&qu ...

  6. Android学习笔记_17_Intent匹配规则(隐式意图)

    Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行 ...

  7. Hive中使用LZO

    hive 中使用lzo 1 启动hive 错误Exception in thread "main" java.lang.NoClassDefFoundError: org/apac ...

  8. Java 基础总结

    Java基础总结 jdk:Java的开发环境与部署环境jre:Java的运行环境 Java数据类型分为:基本类型和引用类型 基本类型:①整数类型 byte   short   int   long 默 ...

  9. ECMAScript 内置类型、对象和运算符

    原始值是以下内置类型 之一的成员:Undefined,Null,Boolean,Number,String: 对象是剩下的内置 类型 Object 的成员:函数是可调用对象 (callable obj ...

  10. Struts2 第六讲 -- Struts2的结果类型

    7.struts2的结果类型 l 每个 action 方法都将返回一个 String 类型的值, Struts 将根据这个值来决定响应什么结果. l 每个 Action 声明都必须包含有数量足够多的 ...