Python文件读取的3种方法及路径转义

yipeiwu_com6年前Python基础

1.文件的读取和显示

方法1:

复制代码 代码如下:

 f=open(r'G:\2.txt')
 print f.read()
 f.close()

方法2:
 
复制代码 代码如下:

 try:
     t=open(r'G:\2.txt')
     print t.read()
 finally:
     if t:
        t.close()

方法3:
复制代码 代码如下:

 with open(r'g:\2.txt') as g:
     for line in g:
         print line

python虽然每次打开文件都要关闭,但是可能会由于异常导致未关闭,因此我们最好是手动关闭,方法二通过异常处理来进行,方法三通过with来自动调用close方法,最简便。
这里open的地址需要注意,如果我们写成open('g:\2.txt','r')运行时会报错:IOError: [Errno 22] invalid mode ('r') or filename: 'g:\x02.txt'。这里是由于路径被转义了,因此可以用'/'代替'\':f=open('g:/2.txt','r')或者加上r'path':f=open(r'g:\2.txt','r')就可以了。
这里通过python自带的ide-GUI测试一下是怎样转义的:
复制代码 代码如下:

 Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32
 Type "copyright", "credits" or "license()" for more information.
 >>> f='g:\a.txt' 
 >>> print f
 g:.txt  #这里被转义成一个特殊符号了。
 >>> f1='g:\\a.txt'
 >>> print f1
 g:\a.txt  #没被转义
 >>> r'g:\a.txt'
 'g:\\a.txt'  #没被转义
 >>> 'g:\a.txt'
 'g:\x07.txt'  #这里将a转义
 >>> 'g:\\a.txt'
 'g:\\a.txt'
 >>>
 

相关文章

wxpython多线程防假死与线程间传递消息实例详解

wxpython多线程防假死与线程间传递消息实例详解

wxpython中启用线程的方法,将GUI和功能的执行分开。 网上关于python多线程防假死与线程传递消息是几年前的,这里由于wxpython和threading模块已经更新最新,因此...

django项目用higcharts统计最近七天文章点击量

django项目用higcharts统计最近七天文章点击量

下载higcharts插件放在static文件夹下 前端引入 <script src="/static/highcharts/highcharts.js"></sc...

python 限制函数执行时间,自己实现timeout的实例

如下所示: # coding=utf-8 import signal import time def set_timeout(num, callback): def wr...

浅谈Python浅拷贝、深拷贝及引用机制

浅谈Python浅拷贝、深拷贝及引用机制

这礼拜碰到一些问题,然后意识到基础知识一段时间没巩固的话,还是有遗忘的部分,还是需要温习,这里做份笔记,记录一下 前续 先简单描述下碰到的题目,要求是写出2个print的结果 可以看...

从numpy数组中取出满足条件的元素示例

例如问题:从 arr 数组中提取所有奇数元素。 input:arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) output: #>...