pantom0122
上一章最后一题的答案:
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:表示文件末尾
 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\')

 

分类:

技术点:

相关文章: