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

yipeiwu_com7年前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'
 >>>
 

相关文章

django框架自定义用户表操作示例

本文实例讲述了django框架自定义用户表操作。分享给大家供大家参考,具体如下: django中已经给我生成默认的User表,其中的字段已经可以满足我们的日常需求。 但有时候,我们需要更...

在Python上基于Markov链生成伪随机文本的教程

 首先看一下来自Wolfram的定义     马尔可夫链是随机变量{X_t}的集合(t贯穿0,1,...),给定当前的状态,未来与过去条件独立。...

Python创建一个空的dataframe,并循环赋值的方法

如下所示: # 创建一个空的 DataFrame df_empty = pd.DataFrame() #或者 df_empty = pd.DataFrame(columns=['A'...

如何实现Django Rest framework版本控制

如何实现Django Rest framework版本控制

前言 首先,我们开发的项目会有多个版本. 其次,我们的项目版本会随着更新越来越多,我们不可能因出了新版本就不维护旧版本了. 那么,我们就需要对版本进行控制——DRF版本控制. 源码剖...

python遍历目录的方法小结

本文实例总结了python遍历目录的方法。分享给大家供大家参考,具体如下: 方法一使用递归: """ def WalkDir( dir, dir_callback = None, f...