=====文件对象:打开--->赋值--->关闭=======
1)open及file内建函数
-作为打开文件之门的"钥匙",内建函数open()以及file()提供了初始化输入/输出(I/O)操作的通用接口
-成功打开文件的时候会返回一个文件对象,否则引发错误
-open()方法和file方法可以完全相互替换
-基本语法:
fo = open(file_name,access_mode='r',buffering=-1) #file_name变量是一个包含了你要访问的文件名称的字符串值。 #access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。 #如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。 fo = open("foo.txt", "wb") >>>fo.write("Very good site! ") #方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。 >>>fo.flush() #希望立刻同步到硬盘,不达到字节大小也强制写入硬盘
2)read()方法
-read()方法用来直接读取字节到字符串中,最多读取给定数目个字节
-如果没有给定size参数(默认值为-1)或者size值为负,文件将从开头读取直至末尾
-读任何文件都行
-过程:
f = open('/python/for.py') #打开 data = f.read() #赋值 f.close() #关闭 print data #打印取到的值
-限制读取大小
f.read(20) #每次读最多20个字节,直至读完,一般建议一次读4096,因为硬盘的一个block是4K
3)readline方法
-读取文件的一行,然后整行,包括行结束符号,作为字符串返回
-它也有一个可选的size参数,默认为-1,代表读至行的结束符
-如果提供的参数,那么在超过size个字节后会返回不完整的行
-它只对文本文件有意义
4)readlines方法
-readlines()读取所有(剩余的)行然后把它们作为一个字符串列表返回
5)tell()方法文件定位
tell()方法告诉你文件内的当前位置;换句话说,下一次的读写会发生在文件开头这么多字节之后。
seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。
如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。
>>>position = fo.tell(); # 查找当前位置 >>>print "当前文件位置 : ", position >>>position = fo.seek(0, 0); # 把指针再次重新定位到文件开头 >>>str = fo.read(10); >>>print "重新读取字符串 : ", str
6)rename()方法:
>>>os.rename(current_file_name, new_file_name) #需要两个参数,当前的文件名和新文件名。
7)remove()方法
>>>os.remove(file_name) #需要提供要删除的文件名作为参数。
8)mkdir()方法
>>>os.mkdir("newdir") 在当前目录下创建新的目录
9)chdir()方法
>>>os.chdir("/home/newdir") # 将当前目录改为"/home/newdir"
10)getcwd()方法
>>>os.getcwd() #显示当前的工作目录。
11)rmdir()方法
>>>os.rmdir( "/tmp/test" ) #删除目录
12)函数
形式参数
-函数定义时,紧跟在函数名后(圆括号内)的参数被称为形式参数,简称形参,由于它不是实际存在变量,所以又称虚拟变量
实际参数
-在主调函数中调用一个函数时,函数后面括号中的参数(可以是一个表达式)称为"实际参数",简称实参
=====传递参数=====
调用函数时,实参的个数需要与形参个数一致
>>>def foo(x,y) >>> print 'x=%d,y=%d' %(x,y) >>>foo(3,4) #调用foo函数 =====位置参数===== vim argv.py >>>importsys >>>print sys.argv #使用sys模块的argv列表接收 执行./argv.py hh kk ['./argv','hh','kk'] #返回结果 =====默认参数===== >>>def pstar(num=30) #函数定义是已经设置了默认参数 >>> print '*' * num >>>pstar() #不传入参数则按默认参数输出 >>>pstar(60) #传入参数,按传入的参数输出