# Python 3 文件操作 字典 自定义函数
● python 文档
官方英文文档 https://docs.python.org/3/
汉化版文档 http://python.usyiyi.cn/
● open()
返回一个文件句柄
参数1:文件地址,绝对地址,或者相对地址
参数2:文件打开的方式
rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)
w 以写方式打开,
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )
● f.readline 读取一行
再次调用 f.readline 就是读取下一行
● f.readlines 读取一行
读取全部
会已List的方式存储每行的数据
● f.writelines 写入
● file.close()
关闭文件。关闭后文件不能再进行读写操作。
● file.flush()
刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
● file.fileno()
返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。
● file.isatty()
如果文件连接到一个终端设备返回 True,否则返回 False。
● file.next()
返回文件下一行。
● file.read([size])
从文件读取指定的字节数,如果未给定或为负则读取所有。
● file.readline([size])
读取整行,包括 "\n" 字符。
● file.readlines([sizehint])
读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比sizhint较大, 因为需要填充缓冲区。
● file.seek(offset[, whence])
设置文件当前位置
● file.tell()ccc
返回文件当前位置。
● file.truncate([size])
截取文件,截取的字节通过size指定,默认为当前文件位置。
● file.write(str)
将字符串写入文件,没有返回值。
● file.writelines(sequence)
向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
● 字典(Dictionary) {}
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,
http://www.runoob.com/python/python-dictionary.html
my = {‘key‘:‘value‘,‘aa‘:123123}
嵌套列表
my{‘Anble‘:[‘Anble‘,18,[20,20,20]]}
my[1] = 100
下标的模式设置字典 key 的值
my[‘Key‘]的方式访问字典内的值
不过,如果字典内没有这个值的话,会造成程序报错,程序结束
my.get(key, default=None)方法
参数1:key
参数2:可以自行设置,如果没有找到的话会返回 空,或者自己设置的值
my.get(key, "Error")
my.keys()
以列表返回一个字典所有的键
my.item()
以列表返回可遍历的(键, 值) 元组数组
● set里面返回一个不允许重复 ([])的方法
myset = set([1,1,1,2,2,2,3,3,3,4])
myset
{1,2,3,4}
myset.add(5) set的add方法 不能添加重复的,无法显示的
{1,2,3,4,5}
myset.add(1)
{1,2,3,4,5}
● help()函数
查找帮助文档
● 自定义函数的编写
def myfun(x,y):
print(x,y)
不用定义类型,这样会引起很多问题
def myfun(x,y): y = x/2 print(y)
参数输入会出错
1 def myfun(x,y): 2 if not isinstance(x,int): 3 print("错误参数") 4 y = (int)x/2 5 print(y)
函数的值的返回值
1 def myfun(x,y): 2 if not isinstance(x,int): 3 print("错误参数") 4 return 0,0 5 y = (int)x/2 6 print(y) 7 return x,7