Python 文件/文件对象的操作
时间:2010-04-14 来源:masonzhang
#-*- coding:cp936 -*-
#++++++++++++++++++++++++++++++++++++++++++++++++++++
# os ,sys ,time, thread, multiprocessing ,signal,popen2
# 这些API 来源于 OS API 的封装 但是用起来更方便!
# 文件描述符的操作
# 文件对象的操作
# 管道的操作
# 线程的操作
# 进程的操作
# IPC 消息队列 or 队列
# 信号量
# 线程可靠函数的操作
#=====================================================
# sub
# Python 目前附加的库是有能力操作文件描述符
# 支援部分IPC
#
###################### 文件描述符的操作
import os
import sys
from contextlib import closing ### 无需close 方法 任何文件对象 手册上说的
print sys.getwindowsversion()
str = r"D:\file_python\log"
print str
fd1 = os.open(str,os.O_RDWR)### 得到文件句柄 or 文件描述符
print fd1
os.write(fd1, str) ### 写 *nix win32 用的 _write
os.fsync(fd1) #### 强迫写入磁盘
os.lseek(fd1, 0, os.SEEK_CUR)
print os.read(fd1, 100)
print "============"
os.dup2(1, fd1) ### 重定向文件描述符
os.write(fd1, "hello worldA!")
print os.fstat(fd1) ### win32 这个功能比较弱啊!
#os.close(fd1) ### 回收文件描述符
file = os.fdopen(fd1,'a',4096) ### 文件描述符--> 文件对象 请注意区别
filetmp = os.tmpfile() ### 开辟一个零时的文件空间
fileshell = os.popen("dir","rw")
#print fileshell.readline()
#### 类似C 语言的 switch
def foo():
print "foo"
pass
def bar():
print "bar"
pass
def foobar():
print "foobar"
pass
funlist = {4:foo,1:bar,0:foobar}
相关阅读 更多 +