上一章最后一题的答案:
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. 2018年哔哩哔哩bilibili前端开发工程师在线笔试1

    ##基础编程能力考查(共1题) 给定一个数组,其中有n(1<n<10000)个整数,检查是否能通过修改不多余一个元素就能让数组从小到大排列. 例1: 输入:[4,2,3] 输出:true ...

  2. 分布式check_mk切换远端图片到本地访问

    http://hermannsspace.de/wp/collect-pnp4nagios-data-in-check_mk-distributed-environment slave1数据目录 /o ...

  3. 将CSV文件中的数据导入到SQL Server 数据库中

    导入数据时,需要注意 CSV 文件中的数据是否包含逗号以及双引号,存在时,导入会失败 选择数据库 -> 右键 -> 任务 -> 导入数据 ,然后根据弹出的导入导出向导(如下图)中的提 ...

  4. day009-IO流

    什么叫流?就是数据的流动.以内存为基准,分为输入input和输出output.输入也叫做读取数据,输出也叫写出数据. 分类 按数据的流向分: 输入流.输出流 按数据类型分:    字节流.字符流 1. ...

  5. June 07th 2017 Week 23rd Wednesday

    Failure is the condiment that gives success its flavor. 失败是让成功变美味的调味料. There are kinds of flavors in ...

  6. zt dup() 和 dup2()

    dup() 和 dup2() 2011-10-07 11:06:31|  分类: Linux学习心得 |字号 订阅   dup和dup2都可用来复制一个现存的文件描述符,使两个文件描述符指向同一个fi ...

  7. C++11之 Move semantics(移动语义)(转)

    转https://blog.csdn.net/wangshubo1989/article/details/49748703 按值传递的意义是什么? 当一个函数的参数按值传递时,这就会进行拷贝.当然,编 ...

  8. html嵌套关系

    哪些元素可以出现在什么地方,哪一个元素可以被包涵在另一个元素里面,这个都是有规则的 1.块级元素可以包涵行内元素   2.块级元素不一定包涵块级元素 p包涵div是不合法的,在浏览器里面会自动在p里面 ...

  9. 使用metasploit自带模块进行端口扫描

    搜索模块: 选择查看: 设置&扫描:

  10. [转]《深入浅出MFC》– MFC程序的生死因果

    1.首先MFC程序需要哪些函数库? Windows C Runtime函数库 LIBC.LIB       C Runtime函数库的静态链接版本 MSVCRT.LIB     C Runtime函数 ...