永久免费网站怎么创建,wordpress企业魔板,常见的网站类型,排位及资讯一、文件对象 我理解的文件对象就是一个接口#xff0c;通过这个接口对文件进行相关操作。 《Python 核心编程》上说的很晦涩#xff0c;这里没有深刻理解到#xff0c;希望有人能解释给我听。 f open(demo.txt,r)f
open file demo.txt, mod…一、文件对象 我理解的文件对象就是一个接口通过这个接口对文件进行相关操作。 《Python 核心编程》上说的很晦涩这里没有深刻理解到希望有人能解释给我听。 f open(demo.txt,r)f
open file demo.txt, mode r at 0x00CCCEC0type(f)
type file 二、相关函数 [1]、内建函数:open() 提供了初始化输入/输出(I/O)操作的通用接口成功打开一个文件后会返回一个文件对象否则发生IOError异常。语法如下file_object open(file_name,access_mode r,buffering -1) 分析如下 1):file_name:表示要打开文件名字的字符串可以是相对路径也可以是绝对路径。如我在D盘新建一个空白名为out的文本文件然后进行相关操作。 f open(../out.txt,w)f.write(good)f.close() 则打开该文件后发现good已经写入进去了。 接下来使用绝对路径进行访问如下 f open(D:/out.txt,r)f.read()
goodf.close() 2、可选变量access_mode也是字符串代表文件打开模式。 注意 1):使用r或U模式打开的文件必须已经存在 2):w模式打开的文件若存在则先清空然后重新创建 3):a模式打开的文件是为了追加数据做准备的所有写入的数据将追加到文件末尾。如果文件不存在则自动被创建。 4):代表可读可写 5):b代表二进制模式访问 6):默认情况下是 r 3、buffering可选参数用于指示访问文件所采用的缓存方式。0表示不缓存1表示只缓存一行n代表缓存n行。如果不提供或为负数则代表使用系统默认的缓存机制。 用处这个麻烦有人能告诉我 关闭文件 打开文件消耗系统资源, 并且依赖于文件模式, 其它程序或许不能访问它们。这就是一旦操作完毕就该关闭文件的重要所在。 接上面的操作加入还没有关闭 f.closed #判断是否关闭
Falsef.close() #关闭方法f.closed
Truef.tell() #如果已关闭则一切针对文件操作都无效Traceback (most recent call last):File pyshell#27, line 1, in modulef.tell()
ValueError: I/O operation on closed file[2]、工厂函数file() 与open()一样可相互替换 f file(../out.txt,r)f.read()
goodf.close() 三、相关方法 返回一个文件对象后句柄其实我也不清楚到底什么是句柄这里摘自百度百科 句柄是整个windows编程的基础。一个句柄是指使用的一个唯一的整数值即一个四字节长的数值来标志应用程序中的不同对象和同类对象中的不同的实 例诸如一个窗口按钮图标滚动条输出设备控件或者文件等。应用程序能够通过句柄访问相应的对象的信息但是句柄不是一个指针程序不能利用句柄来直接阅读文件中的信息。如果句柄不用在I/O文件中它是毫无用处的。 句柄是windows用来标志应用程序中建立的或是使用的唯一整数windows使用了大量的句柄来标志很多对象。 一般与文件相关的方法无非是:输入、输出、文件内移动、杂项 [1]、输入 1、read():读取字节到字符串中有可选参数size默认是-1如果为-1或复数则文件将会被读取到文件末尾。 f.read()
goodf.read(2)
go 2、readline():读取文件的一行包括行结束符。同read()也有个可选参数size。 3、readlines()读取所有剩余的然后将它们作为字符串列表返回它有个可选参数sizhint代表返回的最大字大小。 f file(../out.txt,r)f.readlines()
[good] [2]、输出 1、write():把含有文本数据或二进制数据块的字符串写入到文件中去。 2、writelines()针对列表操作接受一个字符串列表作为参数将它们写入文件行结束符并不会被自动加入如果需要的话必须在调用writelines方法前给每一行结尾加上结束符。 f open(d:/out.txt,w)f.writelines([man])f.close()f open(d:/out.txt,r)f.read()
man 【注意】 当使用read()或者readlines()从文件中读取行时Python并不会删除行结束符这个操作留给了程序员。 f.readlines()
[game is your life,game is your life,game is your life,game is your life,game is your life,[*]\n, game is your life,game is your life,game is your life[]]---------------------------f open(demo.txt,r)data [line.strip() for line in f.readlines()]data
[game is your life,game is your life,game is your life,game is your life,game is your life,[*], game is your life,game is your life,game is your life[]] 类似的write()和writelines()也不会自动加入行结束符应该自己添加。 f open(demo.txt,w)f.writelines([ my name is BeginMan\n,I like coding])f.close() 打开该文件可查看 [3]、文件内移动 tell()、seek()方法 f open(d:/out.txt,rb)
print f.tell() #[1]
f.seek(10,1) #[2]
print f.tell() #10
print f.read(10) # BeginMan,
print f.read(18) #I like coding.
print f.tell() #38
【1】tell():
tell 方法确认了已经移到当前文件位置
一个文件对象维护它所打开文件的状态。文件对象的 tell 方法告诉你在打开文件中的当前位置。
因为我们还没有对这个文件做任何事当前位置为 0它是文件的开始处。【2】seek():
文件对象的 seek 方法在打开文件中移动到另一个位置。第二个参数指出第一个参数是什么意思
0 表示移动到一个绝对位置 从文件开始算起
1 表示移到一个相对位置 从当前位置算起
还有 2 表示文件末尾[4]、文件迭代 f open(d:/out.txt,rb)for eachline in f:eachlinemy name is BeginMan,\r\n
I like coding.\r\n 四、相关属性 file.closed:文件已被关闭否则为False file.mode:文件访问模式 file.name:文件名称 f.mode
rf.name
demo.txt FROM:http://www.cnblogs.com/BeginMan/p/3166644.html转载于:https://www.cnblogs.com/rusking/p/5119796.html