您的位置:首页 > 编程语言 > Python开发

【原创】python 使用系统模块…

2017-03-20 14:38 633 查看
看了development Into python ,用的的import os
这里方便大家理解,直接用 from os import path
当然这个的坏事是不要在自己的代码中再次定义path这个字段.但是有个好处是不用每次都sys.path ...

>>> from os
import path
>>>
path.expanduser('~')
'C:\\Users\\zhangzhipeng'

【释】expanduser是获取系统当前用户的主目录,MAC无效。

>>>
path.join('c:\Python27\music','summary.mp3')
'c:\\Python27\\music\\summary.mp3'
【释】拼接路径和文件名。反正我的不需要转义,而且正反斜线都可以获取到正确的路径,大家最好是按照输出结果的路径进行拼接,以防出错。
>>>
path.join(path.expanduser('~'),'summary.mp3')
'C:\\Users\\zhangzhipeng\\summary.mp3'
【释】将用户主目录和文件名进行拼接
>>>
m_summary=path.join('c:\Python27\music','summary.mp3')
>>>
path.split(m_summary)
('c:\\Python27\\music', 'summary.mp3')
【释】获取一首歌的完整路径名(含文件名),将路径名分割为路径和文件名字。
>>>
path.splitext('summary.mp3')
('summary', '.mp3')
【释】将完整文件名分为文件名和后缀

>>> m_name,
m_extension = path.splitext('summary.mp3')

>>> m_name,
m_extension
('summary', '.mp3')

【释】同上
>>>
path.splitext(m_summary)
('c:\\Python27\\music\\summary', '.mp3')

【释】假如给定一个完整的路径含文件名和后缀,这样也可以直接获取到文件类型。不过不建议这么做,因为生成的元组中元素1毫无意义。

>>> from os
import listdir as os_dir
>>>
os_dir('..')
['config.sys', 'debug', 'Documents and Settings',
'eclipse', 'freefallprotection.log', 'hiberfil.sys', 'Hotfix',
'Intel','Program Files', 'ProgramData', 'Python27','System Volume
Information', 'Temp', 'Users', 'Windows']




>>>
os_dir('.')
['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt',
'music', 'mytest', 'NEWS.txt', 'PIL-wininst.log', 'python.exe',
'pythonw.exe', 'README.txt', 'RemovePIL.exe', 'RemoveTrac.exe',
'RemoveVideoCapture.exe'
...]




>>>
dirName='C:\Python27'
>>>
os_dir(dirName)
['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt',
'music', 'mytest', 'NEWS.txt', 'PIL-wininst.log', 'python.exe',
'pythonw.exe', 'README.txt', 'RemovePIL.exe',
...]

【释】可以看到,引入模块可以起一个别名,os_dir 等等(一个有意义的名字即可)。 ".." or
'..\'当前目录或文件的父目录的同级别目录和文件;"." or  ".\"
当前目录下同级别目录和文件

>>>
os.getcwd()
'C:\\Python27'

【释】getcwd 获取当前工作目录
>>> [f for f in
os_dir(os.getcwd()) if
path.isfile(path.join(os.getcwd(),f))]
['LICENSE.txt', 'NEWS.txt', 'PIL-wininst.log',
'python.exe', 'pythonw.exe', 'README.txt', 'RemovePIL.exe',
'RemoveTrac.exe', 'RemoveVideoCapture.exe', 'Trac-wininst.log',
'VideoCapture-wininst.log', 'w9xpopen.exe']

>>> [f for f in
os_dir(os.getcwd()) if
path.isdir(path.join(os.getcwd(),f))]
['DLLs', 'Doc', 'include', 'Lib', 'libs', 'music',
'mytest', 'Scripts', 'tcl', 'Tools']


isfile 判断文件是否为文件
isdir判断文件是否为目录
islink判断文件是否为链接
isabs判断文件是否为绝对路径
ismount判断文件是否为驱动器

原创所有,转载请附明链接。http://blog.sina.com.cn/s/blog_83dc494d0101bc9u.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: