file、os、pickle

文件对象:
	文本都是字节序列	
	var_name = open (file_name[mode,[bufsize]])
	mode:
		r
		w
		a
		r+
		w+
		a+

	b表示已二进制模式打开文件
		rb
		wb
		ab
		rb+
		wb+
		ab+
	缓存:
		0表示不使用缓存
		负数表示使用系统默认的缓存
		1表示使用缓存
		整数表示使用大小的缓冲区
	file.seek(offset[whence])
		whence:起点
			0:从文件头
			1:从当前位置
			2:从文件尾
		offset:偏移量
	f1.seek(0,2)
	跳转到文件末尾了
	f1.tell()
	f1.write('aaa\n')	
	f1 = open('/var/log/messages','r')
	f1.read(10)
	'Nov 15 03:'
	f1.tell()
        10
        f1.next()
        "Nov 15 13:14:24 iZ23tags5s2Z abrt: detected unhandled Python exception in '3.py'\n"
        f1.name
        '/var/log/messages'
        f1.flush()刷新内容到磁盘
        f1.readline()读取一行
        f1.readlines()读取所有行
        f1.writelines()写入所有
        f1.truncate()截取
        f1.close()关闭
        f1.closed是否关闭这是属性
        
	文件系统模块:os
	目录:
		chdir():切换工作目录
		chroot():设定当前进程的根目录
		listdir():列出指定目录下的所有文件名
		mkdir():创建指定目录
		makedirs():创建多久目录
		getcwd():获取工作目录
		rmdir():删除目录
		removedirs():删除多级目录
	文件:
		mkfifo():创建管道
		mknod():创建设备文件
		remove():删除文件
		unlink():删除链接文件
		rename():重命名
		stat():放回文件的状态信息
		symlink():创建链接文件
		utime():更新时间戳
		tmpfile():创建并打开(w+b)一个新的临时文件
		walk():创建目录树
	访问权限相关的
		access():检验某个用户或用户组的权限模式
		chmod():修改权限
		chown():修改属主和属组
		umask():设置默认权限模式
	文件描述符:
		open():底层操作系统的open()
		read():
		write():
	设备文件:
		makedev():
		major():获取主设备号
		minor():获取次设备号
	路径管理:
		import os.path
		basename():路径基名
		dirname():路径目录名
		join():整合文件名
		split():返回dirname(),basename()元组
		splitext():返回(filename,extension)元组
		信息:
			getatime()
			getctime()
			getmtime()
			getsize():返回文件的大小
		查询
			exists():判断指定文件是否存在
			isabs():判断指定的路径是否为绝对路径
			isdir():是否为目录
			isfile():是否为文件
			islink():是否为符号链接
			ismount():是否为挂载点
			samefile():两个路径是否指向了同一个文件
			
练习:判断文件是否存在,存在则打开
	让用户通过键盘反复输入多行数据
	追加保存至此文件中
		
#!/usr/bin/python
import os
import os.path
filename=raw_input('plz a file name:')
if os.path.isfile(filename):
        openname= open(filename,'a+')
while True:
        newline=raw_input('plz a line:')
        if newline == 'q' or newline =='quit':
                break
        else:
                openname.write(newline+'\n')
openname.close()

对象持久存储
	pickle
	    pickle.dump: (obj, file, protocol=None)
	    pickle.load: (file)
	marshal
	DBM接口
	shaelve模块


你可能感兴趣的:(file、os、pickle)