一、文件操作

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.序列化:变量内容存在文件里,下次可以取出复用.