目录
一.操作文件路径
1.获取当前路径
2.创建文件夹
3.拼接路径
4.跳转路径
5.判断相对路径和绝对路径
6.获取文件路径和文件名
二.操作文件和文件夹
1.查询文件大小
2.删除文件和文件夹
3.重命名文件或文件夹
4.复制文件
5.获取文件夹中的全部文件名
6.判断文件和文件夹
三.执行其他应用程序
1.命令提示符窗口或终端
常见命令参数说明
注意事项
2.system()方法
3.popen()方法
4.压缩和解压文件
判断文件是否为zip文件:zipfile.is_zipfile(路径)
打开压缩文件:zipfile.ZipFile(路径,mode='r')不是直接解压压缩文件,而是与压缩文件建立联系,mode表示打开文件的模式与open()函数类似
解压文件
压缩文件
5.获取Zip文件中文件的属性信息
os库包含丰富的操作文件的方法,可以通过Import os导入库之后,使用dir(os)查询获取
os.getcwd()返回代码所在的绝对路径。
os.mkdir():仅创建单层文件夹(需父路径存在)
os.mkdirs():递归创建多层文件夹(自动补全不存在的路径)。
os.path.join()方法可以将参数拼接为目录路径
os.path.join()还可以智能适配不同操作系统的路径分隔符(如Windows用\,Linux/Mac用/),即无需考虑构成路径的转义字符等问题
import os
dir_new = os.path.join(os.getcwd(), '数据1','内容1')
print(dir_new,type(dir_new))
#D:\ai_learn_chn\实验一\数据1\内容1
跳转路径:os.chdir()
可动态更改当前工作路径(路径必须是已经存在的),影响后续相对路径的基准
import os
print(os.getcwd())
os.chdir('D:\\ai_learn_chn')
print(os.getcwd())
#D:\ai_learn_chn\实验一
#D:\ai_learn_chn
os.path.isabs()
区分相对路径与绝对路径。是绝对路径返回True,是相对路径就返回False
os.path.basename():提取路径中的文件名。
os.path.dirname():提取路径中的目录部分。
os.path.split():以元组形式返回(目录路径, 文件名)。
import os
path="D:\\ai_learn_chn\\实验一\\main6.py"
file_name=os.path.basename(path)
dir_name=os.path.dirname(path)
file_dir_name=os.path.split(path)
print(file_name,'\n',dir_name,'\n',file_dir_name)
#main6.py
#D:\ai_learn_chn\实验一
#('D:\\ai_learn_chn\\实验一', 'main6.py')
os.path.getsize(path)
获取路径中的文件字节数。
os.remove(path)
:删除文件。
os.rmdir(path)
:删除空文件夹(可删除path中的最后一层文件夹,不支持递归删除非空目录)。
rename(旧的文件路径,修改后的文件路径)函数修改指定文件夹或文件的名称
renames(旧的文件路径,修改后的文件路径)函数递归修改文件夹或文件的名称,不仅重命名,还可递归移动文件夹到新路径(如将文件夹从E盘移动到F盘)。
os.link(
旧的文件路径,复制到的文件路径)函数
实现文件复制
os.listdir(路径) 获取文件夹内所有文件名的方法
强调其在模型训练中读取大量图片文件的应用场景
os.path.exists(path) 检查路径是否存在
os.path.isfile(path)判断path是否为文件,是就返回True
os.path.isdir(path) 判断path是否为文件夹,是就返回True
实现在无图形界面的情况下操作计算机
cd 进入目录、md(make directory)创建文件夹
也可以通过路径直接启动应用程序
以下是命令提示符(CMD)中主要命令的表格说明:
命令 | 功能描述 | 示例用法 |
---|---|---|
dir |
显示当前目录下的文件和子目录 | dir |
cd |
切换当前目录 | cd C:\Windows |
mkdir |
创建新目录 | mkdir NewFolder |
rmdir |
删除目录 | rmdir OldFolder /s |
copy |
复制文件 | copy file1.txt file2.txt |
move |
移动文件或重命名 | move file.txt C:\Temp |
del |
删除文件 | del file.txt |
type |
显示文本文件内容 | type notes.txt |
ipconfig |
显示网络配置信息 | ipconfig /all |
ping |
测试网络连接 | ping google.com |
tracert |
跟踪网络路径 | tracert google.com |
netstat |
显示网络连接和统计信息 | netstat -ano |
tasklist |
显示当前运行的所有进程 | tasklist |
taskkill |
终止进程 | taskkill /im notepad.exe |
shutdown |
关闭或重启计算机 | shutdown /s /t 0 |
systeminfo |
显示系统详细信息 | systeminfo |
chkdsk |
检查磁盘并显示状态报告 | chkdsk C: /f |
sfc |
扫描并修复系统文件 | sfc /scannow |
format |
格式化磁盘 | format D: /fs:NTFS |
attrib |
更改文件属性 | attrib +h secret.txt |
xcopy |
复制文件和目录树 | xcopy C:\Data D:\Backup /e |
robocopy |
高级文件复制工具 | robocopy C:\Src D:\Dest /mir |
diskpart |
磁盘分区管理工具 | diskpart |
netsh |
网络配置工具 | netsh interface show interface |
reg |
注册表操作工具 | reg query HKLM\Software |
/s
:递归操作(如删除目录及其内容)/f
:强制操作(如强制删除文件)/q
:安静模式(不提示确认)/t
:设置延迟时间(如shutdown
命令)使用命令时需注意当前目录和权限,部分命令需要管理员权限才能执行。
os库中的syetem()方法可用于实现命令提示符窗口的命令或终端的命令
import os
os.system("calc")
用途:我们可以编写一个Python代码,用于每天打开计算机后启动一些需要使用的软件,从而提高工作效率
可用于获取执行命令后的结果,获取结果的方法与读取文件的方法类似
import os
a = os.popen('"D:\\hello.txt"','r')
print(a.read())
Python标准库中的zipfile可用于处理压缩文件
当需要读取压缩文件中所包含的文件名称时,可以使用namelist()方法,以列表形式返回
import zipfile
z = zipfile.ZipFile("D:\mysql-5.7.19-winx64.zip",'r')
print(z.namelist())
压缩文件对象.extract(memeber,path=None,pwd=None)
member:提取的文件名称,数据类型为字符型
path:是否需要提取到path指定路径
pwd:若存在密码,则该参数值为密码
import zipfile
z = zipfile.ZipFile('数据1\书代码.zip')
for f in z.namelist():
z.extract(f,r'数据1')
压缩文件文件对象.write()
先创建一个压缩文件对象,再依次将需要压缩的文件添加到压缩文件对象中
import zipfile
z = zipfile.ZipFile('数据1\书代码.zip','w')
z.write(r'数据一\num1.py')
z.write(r'数据一\num2.py')
z.close()
注意:以‘w’模式创建了一个压缩对象z,用write()方法添加完文件后,必须使用close()方法关闭压缩文件,否则文件无法完成压缩
压缩文件对象.infolist()
返回每个文件的属性列表
system
函数用于驱动命令提示符或终端,功能不同。sys.version
:获取当前 Python 版本。sys.version_info
:获取更详细的版本信息。在一些实际案例中我们可以通过 sys.version_info
判断 Python 版本是否满足要求,若不满足则退出程序。
sys.exit()
:强制退出程序,可传递退出状态码(默认 0 表示成功)。sys.maxsize
:Python 对象的最大数据长度。sys.platform
:当前操作系统类型(如 Windows)。sys.path
:Python 解释器的安装路径。功能::以列表形式接收命令行参数,sys.argv[0]
为当前脚本路径,后续为传入的参数。
我们可以在命令行测试如下的Python文件
import os
import sys
for i in range(1,len(sys.argv)):
if sys.argv[i] == '-x':
print("开始安装"+str(sys.argv[i+1])+"库")
print("pip install "+str(sys.argv[i+1])+" -i https://pypi.tuna.tsinghua.edu.cn/simple/")
os.system("pip install "+str(sys.argv[i+1])+" -i https://pypi.tuna.tsinghua.edu.cn/simple/")
if sys.argv[i] == '-v':
print("开始查询所有内置函数")
print(dir(__builtins__))