#打开文件
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 ("关闭文件成功!!")

执行以上程序输出结果为:

关闭文件成功!!
文件打开模式


#模块
包含所有定义的函数和变量的文件,后缀.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()
pickle_file=open('xx.pkl','rb')
my_list2 = pickle.load(pickle_file)
print(my_list2)
 输出:

用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 (xx,yyy):
 
使用raise语句引发异常
raise 异常名('提示的内容')
 
 
 
 
else语句
1.if语句
2.for、while语句,循环结束后执行,如果中途有break,则不会执行
while xx:
  …………
  if yy:
     ……
      break;
else:
    ……
3.和异常处理搭配,同上,有异常不执行,没有异常则执行
try:
  ……
except xxx:
 ……
else:
 ……
with语句
自动解决文件没有关闭的问题
比如如果打开一个文件
f = open('','w')   改为   with open('','w') as f:
即可自动调用f.close() ,不用再写

Python笔记 【无序】 【三】的更多相关文章

  1. [Python笔记]第三篇:深浅拷贝、函数

    本篇主要内容:深浅拷贝,自定义函数,三目运算,lambda表达式, 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import ...

  2. Python笔记(三):构建发布模块

      (一)     准备工作 1.   新建一个模块(名称自定义),存放要发布的模块代码. 2.   新建一个setup.py的模块(存放模块的元数据,描述相关信息). 3.   新建一个文件夹(名称 ...

  3. devi into python 笔记(三)callable getattr lambda表达式

    常用的函数:callable():如果所给参数是可调用的,返回True 不可调用返回Fasle.这里指的是否能调用说的是方法.类方法等有doc string的东西,一个单纯的字符串等就不算了. imp ...

  4. [Python笔记][第三章Python选择与循环]

    1月28日学习 Python选择与循环 选择结构 多分枝选择结构 if 表达式 1: 语句块 1 elif 表达式 2: 语句块 2 elif 表达式 3: 语句块 3 ... else : 语句块 ...

  5. Python笔记·第三章—— 逻辑运算

    一.逻辑运算符的种类及优先级 ▷逻辑运算符包括 not and or  ▷他们的优先级是 () > not > and > or 二.普通逻辑运算 ▷A and B --->  ...

  6. python笔记(三)---文件读写、修改文件内容、处理json、函数

    文件读写(一) #r 只读,打开文件不存在的话,会报错 #w 只写,会清空原来文件的内容 #a 追加写,不会请求,打开的文件不存在的话,也会帮你新建的一个文件 print(f.read()) #获取到 ...

  7. Python笔记(三)

    # -*- coding:utf-8 -*- # 运算符 a,b=10,20 # 算术运算符:包括+.-.*./.%.**.//运算 print "********************1 ...

  8. 【和孩子一起学编程】 python笔记--第三天

    第十章 游戏时间:Skier 首先安装pygame,直接在cmd命令控制框里键入pip install pygame就可以了 代码: import pygame, sys, random skier_ ...

  9. Python学习笔记整理(三)Python中的动态类型简介

    Python中只有一个赋值模型 一.缺少类型声明语句的情况 在Python中,类型是在运行过程中自动决定的,而不是通过代码声明.这意味着没有必要事声明变量.只要记住,这个概念实质上对变量,对象和它们之 ...

  10. python笔记 - day3

    python笔记 - day3 参考:http://www.cnblogs.com/wupeiqi/articles/5453708.html set特性: 1.无序 2.不重复 3.可嵌套 函数: ...

随机推荐

  1. smarty实例

    login.php代码 <?phpinclude("../init.inc.php"); $smarty->display("login.html" ...

  2. nginx之正向代理

    1.概述 nginx的正向代理,只能代理http.tcp等,不能代理https请求.有很多人不是很理解具体什么是nginx的正向代理.什么是反向代理.下面结合自己的使用做的一个简介: 1)正向代理: ...

  3. Hbase学习01

    1.1  快速介绍 1.1.1 快速入门,单节点Hbase 本小节介绍单节点独立HBase的设置. 独立实例包含所有HBase守护进程 - Master,RegionServers和ZooKeeper ...

  4. hadoop 分布式开发环境搭建

    一,安装java环境 添加java环境变量 vi /etc/profile   # add by tank export JAVA_HOME=/data/soft/jdk/jdk1.7.0_71 ex ...

  5. MapReduce-WordCount

    pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  6. Ubuntu vim下 实现函数跳转功能

    安装sudo apt-get install exuberant-ctags   在每次使用时,需要初始化tags,只有这样才能使用跳转功能 初始化: 进入项目的顶级目录.输入以下命令.        ...

  7. 【leetcode-100】 简单 树相关题目

    100. 相同的树 (1过,熟练) 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入: 1 1 / \ / \ 2 ...

  8. Cannot make a static reference to the non-static

    public class SeckillServiceImpl implements SeckillService{ private SeckillDao seckillDao; private Su ...

  9. POJ 3070(求斐波那契数 矩阵快速幂)

    题意就是求第 n 个斐波那契数. 由于时间和内存限制,显然不能直接暴力解或者打表,想到用矩阵快速幂的做法. 代码如下: #include <cstdio> using namespace ...

  10. MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具

    MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013 MVC 5 Scaffolder + ...