一个py 文件就是一个模块。
一个模块就是一个写好了代码的Py 文件,里面有类、函数、变量。
os 模块是Python中的一个内置模块。
os 模块是一个与操作系统相关的一个模块,它可以调用系统文件。
os 模块的作用:os 模块是Python中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文件和目录。
比如:显示当前目录下所有文件/删除某个文件/获取文件大小…
【课堂练习:单选题】
已知,os 模块是Python中的一个内置模块,下面关于 os 模块的理解,说法正确的是?
A. os 模块本质上是一个 Python 文件
B. os 模块需要下载、安装后才能使用
C. os 模块属于标准库,需要安装
D. os 模块由多个 Python 文件的集合而成
正确答案:A
一个模块就是一个Python文件,因此A正确,D错误。
os 模块是内置模块,不需要下载、安装,但需要导入,BC 错误。
模块的导入语法为:import + 模块名
import [ ɪmˈpɔːt]:输入,导入。
注意:import 与模块名之间有个空格。
# 模块的导入语法
# import 模块名
import os
一个模块就是一个写好了代码的Py 文件,里面有类、函数、变量。
我们通常需要通过调用模块中的类、函数、变量来实现某些特定的功能:
调用模块中的某一个类、函数或变量的语法如下:
1)调用模块下的类:模块名.类名()
,如 csv.DictReader()
2)调用模块下的函数:模块名.函数名()
,如 os.mkdir()
3)调用模块下的变量:模块名.变量名
,如 os.name
注意:os 模块是Python的内置模块,使用前不需要安装,但需要import 导入。
# 导入模块:import 模块名
import os
# 调用模块下的函数:模块名.函数名()
# cala:打开计算器
os.system('calc')
运行上述代码,电脑会自动打开计算器。
# 导入模块:import 模块名
import os
# 调用模块下的函数:模块名.函数名()
# notepad 打开记事本
os.system("notepad")
运行上述代码,电脑会自动打开记事本。
# import 模块名
import os
# 调用模块下的函数:模块名.函数名()
# startfile 打开可执行文件
# file 为微信程序的绝对路径
file = "D:\\软件安装包\\Tencent\\WeChat\\WeChat.exe"
os.startfile(file)
运行上述代码,实现了用命令让计算机打开微信小程序的操作。
path:为执行文件的绝对路径。
获取微信绝对路径的方法:
1.鼠标右键点击微信-【属性】-【打开文件位置】;
2.按住【shift】+【复制文件地址】;
3.改写路径:因为转义字符的存在,将单反斜杠全部改写为双反斜杠。
getcwd全称应该是’get current work directory’。
意思是’获取当前工作目录’。
current [ˈkʌrənt]:当前的。
directory[dəˈrektəri]:目录。
# import 模块名
import os
# 模块名.函数名()
# getcwd 返回当前文件的目录
os.getcwd( )
【终端输出】
'c:\\Users\\xiaoyuzhou\\Desktop\\Python笔记新
\\第9章 文件读写\\9.3 os模块'
运行上述代码,得到的是我当前正在编辑的文件的工作目录。
# import 模块名
import os
# 模块名.函数名()
#listdir:返回指定文件夹下,文件或文件夹名字的列表
print(type(os.listdir( )))
os.listdir( )
【终端输出】
[ '9.3os模块 - 副本.ipynb',
'9.3os模块.ipynb', '9.4.ipynb']
path 指的是指定文件夹的路径。
执行listdir 函数后得到的数据是一个列表。
列表里存储的是指定文件夹里的文件夹和文档名称。
上述代码中listdir 函数的参数为空,得到的是当前工作文件夹里的文件目录。
在相对路径和绝对路径章节,我们讲过.
表示当前文件夹,且.
可以省略不写。
因此括号参数为.
时得到的文件目录和没有参数是一样的。
# import 模块名 导入模块
import os
# 模块名.函数名()
# getcwd 返回当前文件的目录
os.listdir(".")
【终端输出】
['9.3os模块 - 副本.ipynb', '9.3os模块.ipynb',
'9.4.ipynb']
函数中的参数有点和没点是一样的结果。
# import 模块名 导入模块
import os
# 模块名.函数名() 调用模块下的函数
# getcwd 返回当前文件的目录
os.listdir("..")
【终端输出】
['9.1 相对路径和绝对路径', '9.2 库与模块',
'9.3 os模块', 'img']
‘c:\Users\xiaoyuzhou\Desktop\Python笔记新\第9章 文件读写\9.3 os模块’
..
表示上一级目录。
当listdir 函数的参数为··
时,得到的是上1级文件夹的目录。
即【第9章 文件读写】的目录。
# import 模块名
import os
# 模块名.函数名()
os.listdir("..\\..")
【终端输出】
['第1章_第3章',
'第4章 Python基础知识',
'第5章 运算符',
'第6章 程序流程控制',
'第7章 自定义函数',
'第8章 类与对象',
'第9章 文件读写']
‘c:\Users\xiaoyuzhou\Desktop\Python笔记新\第9章 文件读写\9.3 os模块’
..
表示上1级目录。
2个..
表示上2级。
当listdir 函数的参数为..\\..
时,得到的是上2级文件夹的目录。
即【Python笔记新】的目录。
# import 模块名
import os
# 模块名.函数名()
os.mkdir("新建文件夹")
mkdir 函数的作用是创建新的目录,即新建文件夹或文档。
当参数为【新建文件夹】,表示在当前文件夹下新建了一个名为【新建文件夹】的文件。
# import 模块名
import os
# 模块名.函数名()
os.makedirs("a/b/c")
运行代码后电脑在当前文件夹下新建了一个a
文件夹,a
文件夹里有b
文件夹,b
文件夹里有c
文件夹。
# import 模块名
import os
# 模块名.函数名()
os.rmdir("新建文件夹")
运行上述代码,电脑将刚才新建的名为【新建文件夹】的文件夹进行了删除操作。
# import 模块名
import os
# 模块名.函数名()
os.removedirs("a/b/c")
运行上述代码,电脑将刚才新建的名为a
文件夹进行了删除操作。
# import 模块名
import os
# 模块名.函数名()
print(os.getcwd( ))
os.chdir('D:\\工作')
print(os.getcwd( ))
【终端输出】
C:\Users\xiaoyuzhou\Desktop\Python笔记新\第9章 文件读写\9.3 os模块
D:\工作
第1个print(os.getcwd( ))
获取的是当前的工作文件夹。
os.chdir('D:\\工作')
是 将当前的工作文件夹改写成D:\\工作
。
第2个print(os.getcwd( ))
获取的是改写后的工作文件夹。
调用模块下的函数/类/变量,还可以用另一种语法来写:from 模块名 import 类名/函数名/变量名。
from os import listdir
意思是 “从 os 模块导入 listdir() 函数”
课堂练习
电脑D盘中有个名为【工作】的文件夹,里面有一个名为【各班级成绩】的文件夹,文件夹里有3个Excel文件夹,名称分别为1班成绩、2班成绩、3班成绩。
请你编写一段代码,输出3个Excel的文件名称。
方法1:导入和调用函数分开
# 导入模块:import 模块名
import os
#调用函数:模块名.函数名()
#listdir()函数查看文件名称
os.listdir("D:\\工作\\各班级成绩")
【终端输出】
['1班成绩表.xlsx', '2班成绩表.xlsx', '3班成绩表.xlsx']
方法2:导入和调用一气呵成
#从 os 模块导入 listdir() 函数
from os import listdir
# 设置一个变量存储文件路径
file_name = ("D:\\工作\\各班级成绩")
listdir(file_name )
【终端输出】
['1班成绩表.xlsx', '2班成绩表.xlsx', '3班成绩表.xlsx']