一、Os
Python的标准库中的os模块主要涉及普遍的操作系统功能。可以在Linux和Windows下运行,与平台无关。
-
os.sep 可以取代操作系统特定的路径分割符。
-
os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。
-
os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
-
os.getenv()和os.putenv()函数分别用来读取和设置环境变量。
-
os.listdir()返回指定目录下的所有文件和目录名。
-
os.remove()函数用来删除一个文件。
-
os.system()函数用来运行shell命令。
-
os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
-
os.path.split()函数返回一个路径的目录名和文件名。
-
os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
-
os.path.existe()函数用来检验给出的路径是否真地存在
-
os和os.path模块
-
os.listdir(dirname):列出dirname下的目录和文件
-
os.getcwd():获得当前工作目录
-
os.curdir:返回但前目录('.')
-
os.chdir(dirname):改变工作目录到dirname
-
os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
-
os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
-
os.path.exists(name):判断是否存在文件或目录name
-
os.path.getsize(name):获得文件大小,如果name是目录返回0L
-
os.path.abspath(name):获得绝对路径
-
os.path.normpath(path):规范path字符串形式
-
os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
-
os.path.splitext():分离文件名与扩展名
-
os.path.join(path,name):连接目录与文件名或目录
-
os.path.basename(path):返回文件名
-
os.path.dirname(path):返回文件路径
二、Sys
-
sys.argv: 实现从程序外部向程序传递参数。
-
sys.exit([arg]): 程序中间的退出,arg=0为正常退出。
-
sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。
-
sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。(见设置系统默认编码 )
-
sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.
-
sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
-
sys.platform: 获取当前系统平台。
-
sys.stdin,sys.stdout,sys.stderr stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们
三、Paltform
-
platform.system() 获取操作系统类型,windows、linux等
-
platform.platform() 获取操作系统,Darwin-9.8.0-i386-32bit
-
platform.version() 获取系统版本信息 6.2.0
-
platform.mac_ver()
-
platform.win32_ver() ('post2008Server', '6.2.9200', '', u'Multiprocessor Free')
sys.platform各平台的的返回值
平台 值 Linux (2.x and 3.x) 'linux2' Windows 'win32' Windows/Cygwin 'cygwin' Mac OS X 'darwin' OS/2 'os2' OS/2 EMX 'os2emx' RiscOS 'riscos' AtheOS 'atheos'
现在有一个xl.txt文档,内容如下:
AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD
可以通过open()函数来打开文件,比如:
>>> f = open("C:/Users/jetway/Desktop/xl.txt", "r")
可以利用tell()函数查看在文件中的当前位置,以字节为单位,比如:
>>> f.tell()
0L
这里还没对文件做任何处理,所以在文件的起始处,位置为0L
接下来就是通过seek()函数,来指定在文件中的位置了。说明,seek()有两个参数,其中第二个参数只有0,1,2三种,假设第一个参数为X, 0表示从文件开始处移动到文件的X字节处。比如:
>>> f.seek(8,0)
>>> f.tell()
8L
>>> fs = f.read()
>>> fs
'BBBBBBBBCCCCCCCCDDDDDDDD'
1表示移动到相对于当前位置X字节的地方,比如现在是在第8个字节处:
>>> f.seek(9,1)
>>> f.tell()
17L
>>> fs = f.read()
>>> fs
'CCCCCCCDDDDDDDD'
2表示相对于文件末尾的位置,比如:
>>> f = open("C:/Users/jetway/Desktop/xl.txt", "r")
>>> f.seek(-12, 2)
>>> f.tell()
20L
>>> fs = f.read()
>>> fs
'CCCCDDDDDDDD'
通过seek()函数,我们可以方便的指定在文件中的读取位置,至于读取的字节数目么就要靠read()函数了,只需要加入需要读取的字节数参数就可以了,比如,我要从第8个字节开始读取13个字节:
>>> f = open("C:/Users/jetway/Desktop/xl.txt", "r")
>>> f.seek(8,0)
>>> fs = f.read(13)
>>> fs
'BBBBBBBBCCCCC'