上一章最后一题的答案:
infors.sort(key=lambda x:x['age'])
print(infors)
--->[{'name': 'laowang', 'age': 23}, {'name': 'ab', 'age': 34}, {'name': 'bf', 'age': 43}]
能够用open函数打开一个已经存在的文件或者建立一个新的文件,python
open('文件名','访问模式)函数
f = open('test.txt','w')post
访问模式 | 说明 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
w | 打开一个文件只用于写入。若是该文件已存在则将其覆盖。若是该文件不存在,建立新文件。 |
a | 打开一个文件用于追加。若是该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容以后。若是该文件不存在,建立新文件进行写入。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
wb | 以二进制格式打开一个文件只用于写入。若是该文件已存在则将其覆盖。若是该文件不存在,建立新文件。 |
ab | 以二进制格式打开一个文件用于追加。若是该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容以后。若是该文件不存在,建立新文件进行写入。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
w+ | 打开一个文件用于读写。若是该文件已存在则将其覆盖。若是该文件不存在,建立新文件。 |
a+ | 打开一个文件用于读写。若是该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。若是该文件不存在,建立新文件用于读写。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
wb+ | 以二进制格式打开一个文件用于读写。若是该文件已存在则将其覆盖。若是该文件不存在,建立新文件。 |
ab+ | 以二进制格式打开一个文件用于追加。若是该文件已存在,文件指针将会放在文件的结尾。若是该文件不存在,建立新文件用于读写。 |
close()spa
# 新建一个文件,文件名为:test.txt f = open('test.txt', 'w') # 关闭这个文件 f.close()
我有一个 1.text 的文档,文档里面的内容是指针
'''Python just let be code
I fell in love with you watching Casablanca '''blog
接下来我要对这个文档进行操做rem
使用read(num)能够从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),若是没有传入num,那么就表示读取文件中全部的数据文档
f = open('1.txt','r')
Text = f.read(7) #长度为7
print(Text)
f.close()
--->Python
若是使用读了屡次,那么后面读取的数据是从上次读完后的位置开始的f = open('1.txt','r')get
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能够按照行的方式把整个文件中的内容进行一次性读取,而且返回的是一个列表,其中每一行的数据为一个元素
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个参数
1 f = open('1.txt','rb') 2 3 str = f.read(6) 4 postion = f.tell() 5 print(str) 6 print(postion) 7 8 f.seek(-10,2) #from =2 9 str_2 = f.read() 10 print(str_2) 11 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')