####文件###

r:

-只能读 不能写

-读取文件不存在,是会报错

r+:

- 可以执行读写操作;

- 文件不存在, 报错;

w:

-只能写,不能读

-会清空文件内容

-文件不存在,会新建文件

w+:

- rw

- 文件不存在, 不报错

- 会清空文件内容

a:

-只能写 -不会清空问文件内容

-文件不存在,会新建文件

a+

- 文件不存在, 不报错

- 不会清空文件内容

####文件指针####

文件指针标记从哪个位置开始读取数据 第一次打开文件时,通常文件指针会指向文件的开始位置 当执行了read方法后,文件指针会移动到读取内容的末尾

####文件的复制####

源文件以只读的方式打开 file_read = open('passwd')

目标文件以只写的方式打开 file_write = open('passwd_copy','w')

从源文件中读取内容 text = file_read.read()

将读取到的内容写到目标文件 file_write.write(text)

###关闭文件####

file_read.close()

file_write.close()

###文件练习####

import os

1.判断是否为绝对路径

print os.path.isabs('/tmp/hello')

print os.path.isabs('hello.txt')

2.生成绝对路径

print os.path.abspath('/tmp/hello')

print os.path.abspath('hello.txt')

3.返回一个我们希望的绝对路径

print os.path.join('/home/kiosk','hello.png')

返回一个绝对路径:

当前目录的绝对路径 + 文件名 print os.path.join(os.path.abspath('.'),'hello.png')

4.获取目录名或文件名

filename = '/home/kiosk/PycharmProjects/python/20180826python/day08/filename.txt'

print os.path.basename(filename) print os.path.dirname(filename)

5.创建目录/删除目录

os.makedirs('img/films')

os.mkdir('img') #os.rmdir('img')

6.创建文件/删除文件

os.mknod('westos.txt')

os.remove('westos.txt')

7.文件重命名(mv)

os.rename('westos.txt','linux.txt')

8.判断文件或者目录是否存在

print os.path.exists('img')

print os.path.exists('linux.txt')

9.分离后缀名和文件名

print os.path.splitext('hello.png')

print os.path.split('hello.png')

10.将目录名和文件名分离

print os.path.split('/tmp/hello/hello.png')

#####异常#####

异常:

程序在运行的时候,如果python解释器遇到一个错误,会停止程序,并提示一些错误信息 这就是异常

捕获异常

简单的捕获异常语法一个 在程序开发中,如果对某些代码的执行不能确定 (程序的语法完全正确)是否正确 (例如:提示用户输入一个整数,程序的能否正确执行,完全取决于用户的输入) 可以增加try来捕获异常 错误类型的捕获 在程序执行时,可能会遇到不同类型的异常, 并且需要针对不同类型的异常, 做不同的响应,这个时候,就需要捕获错误类型了

捕获未知错误:

在开发时,要预判到所有可能出现的错误,还是有一定的难度的 如果希望程序无论出现任何错误,都不会因为python解释器抛出异常而终止,可以再增加一个except 语法如下:

except Exception as result(一个变量名 可以随便写):

print ('未知错误 %s' % result)

抛出异常

python中提供了一个Exception异常类 在开发时,如果满足特定的业务需求时,希望抛出异常,可以:

1.创建一个Exception的对象

2.使用raise关键字抛出异常对象 断言:可以理解为提前预言,让人更好的知道错误的原因

python 文件与异常的更多相关文章

  1. Python入门学习系列——Python文件和异常

    从文件中读取数据 首先准备一个文本文件,文件中存储着普通文本数据.读取文件需要调用open()和read()函数. 读取整个文件 代码示例: with open('pi_digits.txt') as ...

  2. Python文件和异常

    程序和运行时数据是在内存中驻留的,涉及到数据交换的地方,通常是磁盘.网络等,因此需要IO接口. IO编程中,Stream(流)是一个很重要的概念,可以把流想象成一个水管,数据就是水管里的水,但是只能单 ...

  3. Python 文件和异常

    一.从文件中读取数据 #!/usr/bin/env python with open('pi') as file_object: contents = file_object.read() print ...

  4. Python的文件及异常

    1. Python的文件及异常 1.1 文件操作 1.1.1 从文件中读取数据 许多情况下,我们的信息是存储在文本中的.例如对用户行为的分析,用户访问系统或者网站的访问信息会被存储于文本中,然后对文本 ...

  5. python入门学习:9.文件和异常

    python入门学习:9.文件和异常 关键点:文件.异常 9.1 从文件中读取数据9.2 写入文件9.3 异常9.4 存储数据 9.1 从文件中读取数据 9.1.1 读取整个文件  首先创建一个pi_ ...

  6. [Python 从入门到放弃] 6. 文件与异常(二)

    本章所用test.txt文件可以在( [Python 从入门到放弃] 6. 文件与异常(一))找到并自行创建 现在有个需求,对test.txt中的文本内容进行修改: (1)将期间的‘:’改为‘ sai ...

  7. Python文件操作,异常语法

    1.文件 2.异常 1.文件的输入输出 #1.打开文件 open 函数open(file,[option])#file 是要打开的文件#option是可选择的参数,常见有 mode 等​#2.文件的打 ...

  8. Python获得文件时间戳 异常访问监控 邮件定时提醒

    Python获得文件时间戳  异常访问监控 邮件定时提醒

  9. Python之文件和异常IO

    文件和异常 读写文本文件 读取文本文件时,需要在使用open函数时指定好带路径的文件名(可以使用相对路径或绝对路径)并将文件模式设置为'r'(如果不指定,默认值也是'r'),然后通过encoding参 ...

随机推荐

  1. tortoisesvn 本项目的忽略项

    https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-propertypage.html Adding and Editing Pr ...

  2. elasticsearch配置文件里的一些坑 [Failed to load settings from [elasticsearch.yml]]

    这里整理几个空格引起的问题. 版本是elasticsearch-2.3.0 或者elasticsearch-rtf-master Exception in thread "main" ...

  3. [cerc2017J]Justified Jungle

    题目大意:删去k条边,树变为相等个点的连通分量,求所有正整数k. 解题关键:树dp,不必求因子. #include<bits/stdc++.h> using namespace std; ...

  4. Git 之 初使用

    什么是Git? Git 是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发.Git ...

  5. sed编辑器使用(转)

    1.Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后, ...

  6. Inheritance with EF Code First: Part 2 – Table per Type (TPT)

    In the previous blog post you saw that there are three different approaches to representing an inher ...

  7. pentaho和spark-sql对接

    pentaho可以和hive做对接,所以和spark-sql做对接也是妥妥的.结果让人很失望了啊,我配置了很久都搞不定,最后脑袋突然灵机一动打通了. 1:替换pentaho自带的hive驱动. 路径 ...

  8. STL--C++中 destory() 和deallocate()以及delete函数的相关性和区别性,destorydeallocate

    这里非常的绕口  需要仔细的来看看: destory(): 显示调用一个对象的析构函数 相当于释放一个对象需要释放的一些动态内存 为下次真正释放对象做准备 deallocate():真正的释放一个内存 ...

  9. 【LeetCode】将罗马数字转换成10进制数

    Roman to Integer Given a roman numeral, convert it to an integer. 首先介绍罗马数字 罗马数字共有七个,即I(1),V(5),X(10) ...

  10. jQuery 插件开发——GridData(表格)

    导读:我个人认为做开发最幸福的事之一就是设计一套属于自己的控件,老早之前就想去做这样的事情,一直碍于事件的冲突和个人的想法,最终没有定论,最近难得抽出一些空隙,去完成这件事情.其实自定义控件并不是难事 ...