Python笔记 【无序】 【三】
#打开文件
os.open(file, flags[, mode]);
-
file -- 要打开的文件
-
flags -- 该参数可以是以下选项,多个使用 "|" 隔开:
- os.O_RDONLY: 以只读的方式打开
- os.O_WRONLY: 以只写的方式打开
- os.O_RDWR : 以读写的方式打开
- os.O_NONBLOCK: 打开时不阻塞
- os.O_APPEND: 以追加的方式打开
- os.O_CREAT: 创建并打开一个新文件
- os.O_TRUNC: 打开一个文件并截断它的长度为零(必须有写权限)
- os.O_EXCL: 如果指定的文件存在,返回错误
- os.O_SHLOCK: 自动获取共享锁
- os.O_EXLOCK: 自动获取独立锁
- os.O_DIRECT: 消除或减少缓存效果
- os.O_FSYNC : 同步写入
- os.O_NOFOLLOW: 不追踪软链接
-
mode -- 类似 chmod()。
返回值
返回一个文件对象
实例
以下实例演示了 open() 方法的使用:
import os, sys
# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )
# 写入字符串
os.write(fd, str.encode("This is test"))
# 关闭文件
os.close( fd )
print ("关闭文件成功!!")
执行以上程序输出结果为:
关闭文件成功!!
文件打开模式
![](https://img2018.cnblogs.com/blog/1544757/201904/1544757-20190413075556730-450237870.png)
![](https://img2018.cnblogs.com/blog/1544757/201904/1544757-20190412125952779-62511319.png)
#模块
包含所有定义的函数和变量的文件,后缀.py;可被其他程序引入,使用其中的函数
OS模块:不要操心操作系统匹配的什么模块,OS模块会自动选择并调用
OS中关于文件/目录常用函数及方法
http://www.runoob.com/python3/python3-os-file-methods.html
#永久存储
pickle模块:
转换为二进制:pickling 存放
从二进制读取:unpickling 读取
import pickle
my_list = [1,2,3,4,5,'hellow world']
pickle_file = open('xx.pkl','wb')
pickle.dump(my_list,pickle_file)
pickle_file.close()
my_list = [1,2,3,4,5,'hellow world']
pickle_file = open('xx.pkl','wb')
pickle.dump(my_list,pickle_file)
pickle_file.close()
pickle_file=open('xx.pkl','rb')
my_list2 = pickle.load(pickle_file)
print(my_list2)
my_list2 = pickle.load(pickle_file)
print(my_list2)
输出:
![](https://img2018.cnblogs.com/blog/1544757/201904/1544757-20190411202032568-408597727.png)
用notepad++打开xx.pkl 文件,发现已经写入
#异常处理
标准异常总结
标准异常总结
https://fishc.com.cn/forum.php?mod=viewthread&tid=45814&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
try:
………………//一旦出现异常,其余的不会执行
………………
except 异常名1【as 自定义变量名xx---可选】:
………………
except 异常名2【as 自定义变量名xx---可选】:
………………
finally:
无论如何都会执行此处代码
………………//一旦出现异常,其余的不会执行
………………
except 异常名1【as 自定义变量名xx---可选】:
………………
except 异常名2【as 自定义变量名xx---可选】:
………………
finally:
无论如何都会执行此处代码
可以同时处理多个异常
except (xx,yyy):
except (xx,yyy):
使用raise语句引发异常
raise 异常名('提示的内容')
raise 异常名('提示的内容')
else语句
1.if语句
2.for、while语句,循环结束后执行,如果中途有break,则不会执行
while xx:
…………
if yy:
……
break;
else:
……
1.if语句
2.for、while语句,循环结束后执行,如果中途有break,则不会执行
while xx:
…………
if yy:
……
break;
else:
……
3.和异常处理搭配,同上,有异常不执行,没有异常则执行
try:
……
except xxx:
……
else:
……
……
except xxx:
……
else:
……
with语句
自动解决文件没有关闭的问题
比如如果打开一个文件
f = open('','w') 改为 with open('','w') as f:
即可自动调用f.close() ,不用再写