大纲
python文件类型及汇总
一、元组
1 特征
1.任意对象的有序集合
2.通过下标访问
3.不可变
4.长度固定,任意类型,任意嵌套
1
2
3
4
5
|
>>> t = ( 1 , 2 , 3 , 4 , 5 )
>>> t[ 0 ] = 2
traceback (most recent call last):
file "<stdin>" , line 1 , in <module>
typeerror: 'tuple' object does not support item assignment
|
2 声明
(value1,value2,…)
3 操作
1.index(val):查找索引
2.count(val):统计数据
1
2
3
4
5
6
|
>>> t
( 1 , 2 , 3 , 4 , 5 )
>>> t.index( 3 )
2
>>> t.count( 3 )
1
|
元组代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
( 1 , 2 ) #定义一个元组
( 1 , 2 )
( 1 , 2 ) + ( 3 , 4 ) #增加元组
( 1 , 2 , 3 , 4 )
t = [ 1 , 2 , 3 , 4 , 5 ]
res = [x * * 2 for x in t] #计算出t中元素的平方并放在res中
res
[ 1 , 4 , 9 , 16 , 25 ]
t.index( 3 ) #检索3的位置
2
t.count( 3 ) #数元组t中3的个数
1
from collections import namedtuple #引入namedtuple给员工赋值
employee = namedtuple( "employee" ,[ "named" , "age" , "department" , "salary" ]) #定义一个员工模板
jerry = employee( "jerry" , 30 , "财务部" , "9000.00" ) #给名叫jerry的员工赋值
jerry
employee(named = 'jerry' , age = 30 , department = '财务部' , salary = '9000.00' )
jerry.age #读取jerry的年龄
30
|
注意事项:列表 元组的转换
元组解析
元组内部列表的修改:
二、文件
1 基本语法
file = open(‘文件名',mode)
三种模式
mode:r ,w ,a
1
|
>>> myfile = open ( 'hello.txt' , 'w' ) #若没有,自动创建文件
|
2 操作
read、readlines、close方法
1
2
3
4
|
>>> myfile = open ( 'hello.txt' , 'w' )
>>> myfile.write( "你好啊,我叫赛利亚\n" ) #写操作
10
>>> myfile.close()
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
>>> f = open ( 'hello.txt' )
>>> f.read()
'你好啊,我叫赛利亚\n'
>>> f.read()
''
>>> f = open ( 'hello.txt' )
>>> f.readline() #readline一次读取一行,返回字符串
'你好啊,我叫赛利亚\n'
>>> f.readline()
''
>>> l = open ( 'hello.txt' ).readlines() #readline一次读取全部行,返回列表
>>> l
[ '你好啊,我叫赛利亚\n' ]
|
with open() as …用于临时打开文件,结束后自动close释放资源(推荐这种用这种方式打开文件进行操作)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
>>> f = open ( 'hello.txt' )
>>> f.read()
'你好啊,我叫赛利亚\n'
>>> f.read()
''
>>> f = open ( 'hello.txt' )
>>> f.readline() #readline一次读取一行,返回字符串
'你好啊,我叫赛利亚\n'
>>> f.readline()
''
>>> l = open ( 'hello.txt' ).readlines() #readline一次读取全部行,返回列表
>>> l
[ '你好啊,我叫赛利亚\n' ]
|
网
易
云
课
堂
文件权限
- rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。一般用于 非文本文件如图片等。
注意:二进制文件把内容表示为一个特殊的 bytes 字符串类型。
1
2
3
4
5
|
# file = open("demo1/1.txt","rb")
file = open ( "demo1/1.png" , "rb" )
ret = file .read() #b'huangzhi' huangzhi
print (ret)
file .close()
|
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
1
2
3
4
5
|
file = open ( "demo1/1.txt" , "r+" )
# ret = file.read() #读取全部内容
# print(ret)
file .write( "guyin" ) #从头写入,原有内容会逐渐被覆盖
file .close()
|
- rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于 非文本文件如图片等。
- wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
1
2
3
4
|
from demo1.img import img2
file = open ( "demo1/2.jpg" , "wb" )
file .write(img2)
file .close()
|
- w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即 原有内容会被删除。如果该文件不存在,创建新文件。
1
2
3
4
5
|
file = open ( "demo1/1.txt" , "w+" )
file .write( "hello world" )
ret = file .read()
print (ret)
file .close()
|
- a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。
也 就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件 进行写入。
1
2
3
4
5
|
#在demo1下的111.txt中追加“guyin”
# file = open("demo1/111.txt","a")
file = open ( "demo1/3.txt" , "a" )
file .write( "guyin" )
file .close()
|
- ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文 件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在, 创建新文件进行写入。
- a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。
- 文 件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
1
2
3
4
5
|
file = open ( "demo1/111.txt" , "a+" )
file .write( "yangyong" )
ret = file .read()
print (ret)
file .close()
|
- ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文 件的结尾。如果该文件不存在,创建新文件用于读写。
三、pickle存储和读取python对象
dump(对象,目标文件)
load(文件)
1
2
3
4
5
6
7
8
9
10
11
|
f = open ( 'datafile.pkl' , 'wb' )
>>> import pickle
>>> d = { 'a' : 1 , 'b' : 2 }
>>> pickle.dump(d,f)
>>> f.close()
>>> f = open ( 'datafile.pkl' , 'rb' )
>>> data = pickle.load(f)
>>> data
{ 'a' : 1 , 'b' : 2 }
|
四、类型汇总
到此这篇关于python基础之元组与文件知识总结的文章就介绍到这了,更多相关python元组与文件内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/m0_53314778/article/details/116936064