os 模块提供了非常丰富的方法用来处理文件和目录。
os.open(file,flags[,mode])以某种或多种方式打开某文件,返回新打开文件的描述符
-
file -- 要打开的文件
-
flags -- 该参数可以是以下选项,多个使用 "|" 隔开:
- os.O_RDONLY: 以只读的方式打开
- os.O_WRONLY: 以只写的方式打开
- os.O_RDWR : 以读写的方式打开
- os.O_NONBLOCK: 打开时不阻塞
- os.O_APPEND: 以追加的方式打开
- os.O_CREAT: 创建并打开一个新文件
- os.O_TRUNC: 打开一个文件并截断它的长度为零(必须有写权限)
- os.O_EXCL: 如果指定的文件存在,返回错误
- os.O_SHLOCK: 自动获取共享锁
- os.O_EXLOCK: 自动获取独立锁
- os.O_DIRECT: 消除或减少缓存效果
- os.O_FSYNC : 同步写入
- os.O_NOFOLLOW: 不追踪软链接
-
mode -- 类似 chmod()
-
fd -- 文件描述符。
-
str -- 写入的字符串。
os.close(fd) 用于关闭指定文件描述符
-
fd -- 文件描述符
-
-
没有返回值
补充:
os.closerange(fd_low, fd_high)方法用于关闭所有文件描述符fd,从fd_low(包含)到fd_high(不包含),错误会忽略。
此方法类似于:
for fd in xrange(fd_low, fd_high):
try:
os.close(fd)
except OSError:
pass
代码示例:
# -*- coding: UTF-8 -*-
import os
# 打开文件
fd = os.open( "test.txt", os.O_RDWR|os.O_CREAT )
# 写入字符串
os.write(fd, "This is test")
# 关闭文件
os.close( fd )
print "关闭文件成功!!"
结果:
关闭文件成功!!