python基础知识—os模块—递归—类(对象,构造和析构函数—对象与类属性—运算符重载
os模块
os:包含了普遍操作系统的功能:
import os
#获取操作系统类型 nt--windows posix--Linux,Unix或Mac OS X
print(os.name)
#windows不支持打印操作系统详细信息
# print(os.uname())
#获取操作系统中的环境变量
print(os.environ)
#获取指定环境变量路径
print(os.environ.get('APPDATA'))
#获取当前目录 ./a/
print(os.curdir)
#获取当前工作目录,
print(os.getcwd())
#以列表形式返回指定目录下的所有文件
print(os.listdir(r'C:\Users\xiaofeng\PycharmProjects\爬虫'))
# aaa=os.listdir(r'C:\Users\xiaofeng\PycharmProjects\爬虫')
# for x in aaa:
# print(x)
#在当前目录创建新目录 也可以指定目录
# os.mkdir('luce')
#删除目录
# os.rmdir('luce')
#获取文件属性
print(os.stat('./os模块.py'))
#重命名目录或文件
# os.rename('luce','xiao')
#删除普通文件
# os.remove('./11.txt')
#运行shell命令
# os.system('notepad') #打开记事本
# os.system('taskkill /f /im notepad.exe') #关闭模块
# os.system('write')#写字板
# os.system('mspaint')
# os.system('msconfig')
# os.system('shutdown -s -t 1000')#关机
# os.system('shundown -a') #取消关机
有些方法存在存在os模块,还有些存在os.path
#查看绝对路径
print(os.path.abspath('os模块.py'))
print('******************')
#拼接路径
p1=r'C:\Users\xiaofeng\PycharmProjects\爬虫\os模块'
p2=r'5.os模块.py'
# 参数2(p2)里开头不能有斜杠
print(os.path.join(p1,p2))
# 拆分路径
path1=r'C:\Users\xiaofeng\PycharmProjects\爬虫\os模块'
print(os.path.split(path1)) #拆分最后一个目录或文件,返回元组
#获取扩展名
print(os.path.splitext(path1))
判断是否是目录
print(os.path.isdir(path1))
判断文件是否存在
path2=r'C:\Users\xiaofeng\PycharmProjects\爬虫\os模块\2.txt'
print(os.path.isfile(path2))
判断目录是否存在
path3=path1=r'C:\Users\xiaofeng\PycharmProjects\爬虫'
print(os.path.exists(path3))
获取文件大小 (字节大小)
print(os.path.getsize(path2))
递归
递归调用:一个函数,调用了自身,称为递归调用
递归函数:一个会调用自身的函数称为递归函数
循环能做的事情,递归都可以做
1,写出临界条件
2,找这一次和上一次的关系
3,假设当前函数已经能用,调用自身计算上一次的结果,
在求出本次结果
def sum2(n):
if n == 4:
return 1
else:
return n +sum2(n-1)
print(sum2(5))
递归遍历目录
#递归遍历目录
import os
def getAlldir(path,sp=''):
#获取目录下的文件
filelist=os.listdir(path)
#处理每一个文件
sp+=' '
for filiname in filelist:
#判断是否是路径(用绝对路径)
fileabspath = os.path.join(path