一、文件操作
Python提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用file对象做大部分的文件操作。
(1)打开文件:
Python内置了一个打开文件的函数,open()函数,用来代开一个文件,创建一个file对象,然后就可以对该打开的文件做任何你想做的操作。
File_object = open(file_name,[access_mode],[buffering])
file_name:file_name变量是一个包含了你要访问的文件路径及文件名称的字符串值。
access_mode:决定了打开文件的模式,是只读、写入、追加等等。这个参数是非强制的,默认文件访问模式为只读(r)
buffering:如果buffering的值被设置为0,就不会有缓存;如果值为1,访问文件时会缓存行;如果值为大于1的整数,表明了这就是寄存区的缓冲大小;如果取负值,寄存区的缓冲大小则为系统默认。该参数也是非强制性的。
**当语句表示返回的File_object是一个指向文件的指针(一个文件对象)。当以只读模式(r)打开一个不存在的文件时,就会报IOError异常(文件不存在),但如果是以写或追加模式(w/a/a+)打开一个不存在的文件时,默认会创建该文件。但如果是所在路径中有目录不存在,也会报IOError异常。
open() 函数
demo1:
>>> fp.open("/Users/admin/1.txt",'w')
>>> fp.write("glory road is great!")
>>> fp.close()
demo2:
>>> fp = open("/Users/admin/1.txt",'r')
>>> print fp.readline()
glory road is great!
>>> fp.close()
demo3
Python os模块提供了一个统一的操作系统接口函数,这些接口函数通常是平台指定的,os模块能在不同操作系统平台(如nt 或posix)中特定函数建自动切换,从而实现跨平台操作.
python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块
目录操作:
1、os.getwd( )
获取当前工作目录,即当前Python脚本工作的目录路径.
#encoding=utf-8
import os
CurrentPath = os.getcwd( )
print u"当前工作目录:",CurrentPath
2.os.chdir(path)
改变当前脚本工作目录;相当于shell下的cd命令
3.os.curdir
返回当前目录的父目录('..')
4.获取当前使用的操作系统类型(其中,'nt'是windows,'posix'是linux或者unix)
5.os.makedirs(path,[mode=0777])
可生成多层递归目录,父目录如果不存在,递归生成.
参见mode表示生成的目录的权限,默认是超级权限,也就是0777
import os
一.文件操作函数
1.open( )函数
File_object = open(file_name,[access_mode],[buffering])
file_name:file_name变量是一个包含了你想要访问的文件路径及文件名称的字符串值
access_mode:决定了打开文件的模式,是只读、写入、追加等等.这个参数是非强制的,默认文件访问模式为只读(r)
buffering:如果bufferting的值被设置为0,就不会有缓存;如果值为1,访问文件时会缓存行;如果值大于1的正数,表明这就是寄存区的缓冲大小;如果取负值,寄存区的缓冲大小则为系统默认。该参数也是非强制性的.
该语句表示返回的File_object是一个执行文件的指针(一个文件对象).
当以只读模式(r)打开一个不存在的文件时,就会报IOError异常(文件不存在),但如果是以血或追加模式(w /a /a+)打开一个不存在的文件时,默认会创建该文件,但如果是所在路径有目录不存在,也会报IOError异常.
2.读取带有中文的文件
3.打开文件
4.文件操作模式
(1)r 以只读方式打开文件,文件的指针会放在文件的开头,这是默认模式
(2)rb 以二进制格式打开一个文件用于只读.文件指针将会放在文件的开头,这是默认模式,
(3)r+ 打开一个文件用于读写,文件指针将会放在文件的开头
(4 )rb+ yi
(1)fileObject.read([size])
size为读取的长度,以Byte为单位.如果不指定参数,表示一次性读取全部内容,以字符串形式返回,并且每一行结尾会有一个"\n"符号
F1:
#encoding=utf-8
fp = open("c:\\file.txt",'r')
content = fp.read()
print u"读取的文件内容如下:\n",content
#关闭文件
fp.colse()
例题:
#encding=utf-8
import time
def str_concate():
result=""
for i in xrange(1000000):
result+="a"
return result
start_time = time.time()
str_concate()
end_time = time.time()
result = end_time - start_time
with open("e:\\1.txt","w") as fp:
fp.write(u"函数执行的结果:".encode("gbk")+str(result)+u"秒".encode("gbk"))
2.writeliness(seq)
3.进程:进程是操作系统的最小单元
线程:线程是公用晋城的,进程的组成,线程内存更少
进程/线程控制器
4.flush( )函数
5.seek( )函数
seek(offset[,from])这是一个文件定位函数,该方法改变当前文件的位置
Offset变量表示要移动的字节数,
From变量执行开始移动字节的参考位置,如果from被设为0,这意味着将文件的开头作为移动字节的参考位置.
如果设为1,则使用当前位置作为参考位置,
如果设为2,南无该文件的末尾将作为参考位置.
6.fileObject.truncate([size])
把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置.如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去.
7.序列化:变量内容存在文件里,下次可以取出复用.