1、 os.getcwd ()
功能 : 查看当前所在的路径
参数 : /
返回类型 : 字符串
备注 : 返回值为当前运行文件所在的目录
# -*- coding:UTF-8 -*-
import os
getcwdFuntion = os.getcwd()
print 'os.getcwd()的返回类型为:', type(getcwdFuntion)
print 'os.getcwd()的返回值为:', getcwdFuntio
运行结果
os.getcwd()的返回类型为: <type 'str'> os.getcwd()的返回值为: D:\E_DISK\product\eclipse\OS_Test\src\tanxiaohui
PS :此路径 D:\E_DISK\product\eclipse\OS_Test\src\tanxiaohui 是我保存当前.py文件的路径
2、 os.listdir(path)
功能 : 查看该目录下的文件夹和文件
参数 : path必须为文件夹, 为文件时运行报错
返回类型 : list列表
备注 : 当目录下没有文件或文件夹,返回值为空列表
附两张我D盘下eclipse文件夹的图片,读者可根据该图片对应运行结果(读者可直接忽略图片,直接看代码)
# -*- coding:UTF-8 -*- import os print os.listdir('D:\\eclipse') #print os.listdir('D:\\eclipse\\artifacts.xml') 路径为文件,报错 print os.listdir('D:\\eclipse\\readme\\aaa')
运行结果
['.eclipseproduct', 'artifacts.xml', 'configuration', 'dropins', 'eclipse-workspace', 'eclipse.exe', 'eclipse.ini', 'eclipsec.exe', 'features', 'jre', 'p2', 'plugins', 'readme'] []
PS : 输出结果为我的D盘下eclipse文件夹中的文件或文件夹,可根据我提供的两张图片看到,当然也可以直接忽略
3、 os.path.abspath(path)
功能 : 查看path的绝对路径
参数 : path 可以是文件夹也可以是文件
返回类型 : 字符串
备注 : /
# -*- coding:UTF-8 -*- import os print os.path.abspath('D:\\eclipse\\eclipse.exe') print os.path.abspath('.') #当前运行文件的绝对路径,也就是该py文件的运行路径
运行结果
D:\eclipse\eclipse.exe
D:\E_DISK\product\eclipse\OS_Test\src\tanxiaohui
4、os.path.split(p)
功能 :将路径p分解为(文件夹,文件名)
参数 : 文件路径或者文件夹路径
返回类型 : 元组()
备注 : 参数字符串正常,返回元组正常
参数字符串为文件夹时,返回元组文件夹部分为最后一个文件夹的父文件夹,文件名部分为最后一个文件夹
参数字符串为\\结尾时,返回的元组文件夹部分正常,文件名部分为空
参数字符串为.时,返回的元组文件夹部分为空,文件名部分为.
PS : 看不懂备注没关系,直接看代码以及运行结果更容易理解
# -*- coding:UTF-8 -*- import os print os.path.split('D:\\eclipse\\artifacts.xml') print os.path.split('D:\\eclipse') print os.path.split('D:\\eclipse\\p2') print os.path.split('D:\\eclipse\\') print os.path.split('.')
运行结果
('D:\\eclipse', 'artifacts.xml') ('D:\\', 'eclipse') ('D:\\eclipse', 'p2') ('D:\\eclipse', '') ('', '.')
5、 os.path.join(path)
功能 : 组合path路径
参数 : 文件或文件夹路径
返回类型 : 字符串
备注 : /
# -*- coding:UTF-8 -*- import os print os.path.join('D:\\eclipse', 'hello.txt') print os.path.join('D:\\eclipse', 'C:\\tanxiaohui\\hello.txt') print os.path.join('D:\\eclipse\\readFile.txt', 'C:\\tanxiaohui\\hello.txt')
运行结果
D:\eclipse\hello.txt
C:\tanxiaohui\hello.txt
C:\tanxiaohui\hello.txt
PS : 有可能你没理解为什么要这么写,我也还没有理解,我测试过了,这个程序运行后并不移动或操作我的文件或文件夹,估计为了以后被别人调用,根据调用者路径和我们程序设定的路径进行处理事情的吧,如果你理解了,可以进行分享。
6、 os.path.basename(path)
功能 : 返回path路径的最后一个文件或文件夹
参数 : 文件或文件夹路径
返回类型 : 字符串
备注 : /
# -*- coding:UTF-8 -*- import os print os.path.basename('D:\\eclipse') print os.path.basename('D:\\eclipse\\artifacts.xml')
print os.path.basename('.')
运行结果
eclipse
artifacts.xml
.
7、os.path.dirname(path)
功能 : 返回path去掉最后一个文件或者文件夹的目录,也就是父目录,这是我的理解
参数 : 文件或者文件夹路径
返回类型 : 字符串
备注 : /
# -*- coding:UTF-8 -*- import os print os.path.dirname('D:\\eclipse') print os.path.dirname('D:\\eclipse\\artifacts.xml') print '注意,这个返回的时空串,不信,您看:', os.path.dirname('.'), '是吧,什么也没看到吧,这就是空串'
运行结果
D:\
D:\eclipse
注意,这个返回的时空串,不信,您看: 是吧,什么也没看到吧,这就是空串
8、 os.path.getsize(path)\
功能 : 获取文件大小
参数 : 文件或者文件夹路径
返回类型 : long
备注 : 如果为文件夹则返回0,否则返回文件大小,文件大小为0也是返回0
# -*- coding:UTF-8 -*- import os print os.path.getsize('D:\\eclipse\\readme') print os.path.getsize('D:\\eclipse\\artifacts.xml') print os.path.getsize('.')
运行结果
0
142605
4096
9、 os.path.exists(path)
功能 : 判断文件夹或文件是否存在
参数 : 文件或文件夹路径
返回类型 : bool
备注 : /
# -*- coding:UTF-8 -*- import os print os.path.exists('D:\\eclipse') print os.path.exists('D:\\eclipse\\eclipse.exe') print os.path.exists('D:\\eclipse\\notExistFile.txt') print os.path.exists('.')
运行结果
True
True
False
True
10、 os.path.isdir(path)
功能 : 判断是否为文件夹
参数 : /
返回类型 : bool
备注 : /
# -*- coding:UTF-8 -*- import os print os.path.isdir('D:\\eclipse\\artifacts.xml') print os.path.isdir('D:\\eclipse') print os.path.isdir('D:\\eclipse\\p2') print os.path.isdir('D:\\eclipse\\') print os.path.isdir('.')
运行结果
False
True
True
True
True
11、 os.path.isfile
功能 : 判断是否为文件
参数 : /
返回类型 : bool
备注 : /
# -*- coding:UTF-8 -*- import os print os.path.isfile('D:\\eclipse\\artifacts.xml') print os.path.isfile('D:\\eclipse') print os.path.isfile('D:\\eclipse\\p2') print os.path.isfile('D:\\eclipse\\') print os.path.isfile('.')
运行结果
True
False
False
False
False