OS模块
python 标准库
和操作系统有关的操作
- 创建、移动、复制、删除文件和文件夹
- 文件路径和名称处理
- ……
注:Windows、Linux、Mac有些指令是通用的
获得当前python程序运行路径
import os文件
print(os.getcwd())
输出结果:C:\Users\test\py(当前程序在的路径)
Windows 采用反斜杠(\)作为文件夹之间分隔符;
Mac和Linux 采用正斜杠(/)作为文件夹之间分隔符;
反斜杠在Python中用于转义,所以变为两个反斜杠(\)
绝对路径和相对路径
绝对路径:从根文件夹开始
例:Windows C:\User\python
Linux /User/python
相对路径:当前运行目录
例:程序在e:\python 相对目录为./python
修改python运行路径
import os
os.chdir('c:/user/python')
os.chdir(r'c:\user\python')
os.chdir('c:\\user\\python')
路径加载连接的三种方式:’/’、 ‘\’ 、 r’’
列出当前文件夹下所有文件和文件夹
import os
#os.listdir(可填写指定的绝对路径或相对路径,空值时列出当前目录)
print(os.listdir())
print(os.listdir(r'c\user\python'))
输出结果:列表方式列出文件夹下的所有内容
[‘exercise210217.py’, ‘for循环练习1-4.py’, ‘pa.py’, ‘sublime_test.py’, ‘test1.py’, ‘test2.py’, ‘test8_2.py’, ‘test8_4.py’, ‘test8_4_2.py’, ‘test8_5_1.py’, ‘work2.py’, ‘work2.rar’, ‘个人所得税.py’, ‘个人所得税.rar’, ‘游戏.py’, ‘游戏.rar’]
判断文件文件或者文件夹
import os
os.path.isdir(要判断的文件或者文件夹路径)
files = os.listdir()
for file in files():
print(file,os.path.isdir(file))
输出结果:文件夹(True)文件(False)
exercise210217.py False
for循环练习1-4.py False
pa.py False
os.scandir()遍历文件 ——递归
推荐使用方法
import os
#os.scandir(绝对路径或相对路径)
for file in os.scandir():
print(file.name,file.path,file.is_dir())
输出结果:
exercise210217.py .\exercise210217.py False
for循环练习1-4.py .\for循环练习1-4.py False
pa.py .\pa.py False
sublime_test.py .\sublime_test.py False
test1.py .\test1.py False
test2.py .\test2.py False
综合应用
编写一个python程序,示例文件夹内容如下,要求:
- 找出当前目录下所有非文件夹的文件
- 统计其中包含‘python’单词的文件数量
- 不区分大小写,即大写和小写都包括在内
- 输出文件数量
import os
count = 0
for file in os.scandir():
if not file.is_dir() and 'python' in file.name.lower():
count += 1
print(f'包含"python"单词的文件数量:{count}')