文件对象: 文本都是字节序列 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模块
时间: 2024-09-30 23:35:42