如果你准备操作一个Python文件对象f, 首先f.flush(),然后os.fsync(f.fileno()), 确保与f相关的所有内存都写入了硬盘.在unix,Windows中有效。
os.ftruncate(fd, length)
裁剪文件描述符fd对应的文件, 所以它最大不能超过文件大小. 在unix中有效,请查看相关文档.。 os.isatty(fd)
如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False. 在unix中有效,请查看相关文档.。 os.lseek(fd, pos, how)
设置文件描述符 fd当前位置为pos, how方式修改: SEEK_SET 或者 0 设置从文件开始的计算的pos; SEEK_CUR或者 1 则从当前位置计算; os.SEEK_END或者2则从文件尾部开始. 在unix,Windows中有效。 os.open(file, flags[, mode])
打开file同时根据flags设置变量flags ,如果有mode,则设置它的mode. 默认的mode是 0777 (八进制), 当前掩码值是first masked out. 返回刚打开的文件描述符. 在unix,Windows中有效。
flag和mode值, 请查看C运行时文档; flag常数(像O_RDONLY and O_WRONLY)在这个模块中也定义了(在下面).
注:这函数是打算为低层 I/O服务的.正常的使用,使用内建函数open(),返回read()和 write() 等方法创建的文件对象.包装文件描述符为“文件对象”, 使用fdopen().
os.openpty()
在一些Unix平台上有效,请查看相关文档.
os.pipe()
创建一个管道. 返回一对文件描述符(r, w) 分别为读和写. 在unix,Windows中有效。 os.read(fd, n)
从文件描述符 fd中读取最多n个字节. 返回包含读取字节的string. 文件描述符 fd对应文件已达到结尾, 返回一个空string. 在unix,Windows中有效。
注:这函数是打算为低层 I/O服务的 ,同时必须应用在os.open()或者pipe()函数返回的文件描述符. 读取内建函数open()或者by popen()或者fdopen(),或者sys.stdin返回的一个“文件对象” , 使用它的read()或者readline()方法.
os.tcgetpgrp(fd)
在unix中有效,请查看相关文档.。 os.tcsetpgrp(fd, pg)
在unix中有效,请查看相关文档.。 os.ttyname(fd)
在unix中有效,请查看相关文档.。
os.write(fd, str)
写入字符串到文件描述符 fd中. 返回实际写入的字符串长度. 在unix,Windows中有效。
注:这函数是打算为低层 I/O服务的 ,同时必须应用在os.open()或者pipe()函数返回的文件描述符. 读取内建函数open()或者by popen()或者fdopen(),或者sys.stdin返回的一个“文件对象” , 使用它的read()或者readline()方法.
下面的常数是open()函数的 flags参数选项. 它们可以使用 bitwise合并或者operator |. 它们中的一些常数并不是在所有平台都有效. 它们更多使用请查看相关资料,在unix上参考open(2)手册页面,windows上http://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx.
os.O_RDONLY os.O_WRONLY os.O_RDWR os.O_APPEND os.O_CREAT os.O_EXCL os.O_TRUNC
这些常数在Unix and Windows上有效. os.O_DSYNC os.O_RSYNC os.O_SYNC os.O_NDELAY os.O_NONBLOCK os.O_NOCTTY os.O_SHLOCK os.O_EXLOCK
这些常数仅在Unix上有效. os.O_BINARY os.O_NOINHERIT os.O_SHORT_LIVED os.O_TEMPORARY os.O_RANDOM os.O_SEQUENTIAL os.O_TEXT
这些常数仅在 Windows上有效. os.O_ASYNC os.O_DIRECT
os.O_DIRECTORY os.O_NOFOLLOW os.O_NOATIME
这些常数是 GNU扩展,如果没有在C库声明刚没有. os.SEEK_SET os.SEEK_CUR
os.SEEK_END
lseek()函数的参数. 它们的值分别是 0, 1,和 2. 在Unix and Windows上有效.
版本2.5新增.
16.1.4. 文件和文件夹 os.access(path, mode)
使用现在的uid/gid尝试访问path. 注大部分操作使用有效的uid/gid, 因此运行环境可以在 suid/sgid环境尝试,如果用户有权访问path. mode为F_OK,测试存在的path,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多.如果允许访问返回 True , 否则返回False. 查看Unix手册access(2) 获取更多信息. 在unix,Windows中有效。
注:使用access()去测试用户是否授权. 在实际使用open()打开一个文件前测试会创建一个安全漏洞前 , 因为用户会利用这短暂时间在检测和打开这个文件去修改它.
注:即使access()表明它将succeed,但I/O 操作也可能会失败, 如网络文件系统.
os.F_OK
作为access()的mode参数,测试path是否存在. os.R_OK
包含在access()的mode参数中 , 测试path是否可读. os.W_OK
包含在access()的mode参数中 ,测试path是否可写. os.X_OK
包含在access()的mode参数中 ,测试path是否可执行.. os.chdir(path)
改变当前工作目录. 在unix,Windows中有效。
os.fchdir(fd)
在unix中有效,请查看相关文档.。 os.getcwd()
返回当前工作目录的字符串, 在unix,Windows中有效。 os.getcwdu()
返回一个当前工作目录的Unicode对象. 在unix,Windows中有效。 os.chflags(path, flags)
在unix中有效,请查看相关文档.。
os.chroot(path)
在unix中有效,请查看相关文档.。
os.chmod(path, mode)
改变path的mode到数字mode. mode为下面中的一个 (在stat模块中定义)或者bitwise或者
它们的组合:
?stat.S_ISUID ?stat.S_ISGID ?stat.S_ENFMT ?stat.S_ISVTX ?stat.S_IREAD ?stat.S_IWRITE ?stat.S_IEXEC ?stat.S_IRWXU ?stat.S_IRUSR ?stat.S_IWUSR ?stat.S_IXUSR ?stat.S_IRWXG ?stat.S_IRGRP ?stat.S_IWGRP ?stat.S_IXGRP ?stat.S_IRWXO ?stat.S_IROTH ?stat.S_IWOTH ?stat.S_IXOTH
在unix,Windows中有效。
注:尽管Windows支持chmod(), 你只可以使用它设置只读 flag (通过stat.S_IWRITE和stat.S_IREAD 常数或者一个相对应的整数)。所有其它的 bits都忽略了.
os.chown(path, uid, gid)
在unix中有效,请查看相关文档.。 os.lchflags(path, flags)
在unix中有效,请查看相关文档.。
新增version 2.6.
os.lchmod(path, mode)
在unix中有效,请查看相关文档.。
新增version 2.6.
os.lchown(path, uid, gid)
在unix中有效,请查看相关文档.。
新增version 2.3.
os.link(source, link_name)
在unix中有效,请查看相关文档.。 os.listdir(path)
返回path指定的文件夹包含的文件或文件夹的名字的列表. 这个列表以字母顺序. 它不包括 '.' 和'..' 即使它在文件夹中. 在unix,Windows中有效。
Changed in version 2.3:在Windows NT/2k/XP 和Unix, 如果文件夹是一个Unicode object, 结果将是 Unicode objects列表. 不能解码的文件名将仍然作为string objects返回.
os.lstat(path)
像stat(),但是没有符号链接. 这是stat()的别名 在某些平台上,例如Windows. os.mkfifo(path[, mode])
在unix中有效,请查看相关文档.。
os.mknod(filename[, mode=0600, device])
创建一个名为filename文件系统节点(文件,设备特别文件或者命名pipe)。 mode指定创建或使用节点的权限, 组合 (或者bitwise) stat.S_IFREG, stat.S_IFCHR, stat.S_IFBLK, 和stat.S_IFIFO (这些常数在stat模块). 对于 stat.S_IFCHR和stat.S_IFBLK, 设备定义了 最新创建的设备特殊文件 (可能使用 os.makedev()),其它都将忽略.
新增version 2.3.
os.major(device)
从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field).
新增version 2.3.
os.minor(device)
从原始的设备号中提取设备minor号码 (使用stat中的st_dev或者st_rdev field ).
新增version 2.3.
os.makedev(major, minor)
以major和minor设备号组成一个原始设备号.
新增version 2.3.
os.mkdir(path[, mode])
以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制). 在有些平台上, mode是忽略的. 当使用时。这当前的掩码值是first masked out. 在unix,Windows中有效。
也可以创建临时文件夹; 查看tempfile模块tempfile.mkdtemp()函数.