奶龙来了都能学会的Python基础(十)!!!之操作文件夹

目录

一.操作文件路径

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)查询获取

1.获取当前路径

os.getcwd()返回代码所在的绝对路径

2.创建文件夹

os.mkdir():仅创建单层文件夹(需父路径存在)

os.mkdirs():递归创建多层文件夹(自动补全不存在的路径)。

3.拼接路径

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 

4.跳转路径

跳转路径os.chdir()可动态更改当前工作路径(路径必须是已经存在的),影响后续相对路径的基准

import os
print(os.getcwd())
os.chdir('D:\\ai_learn_chn')
print(os.getcwd())

#D:\ai_learn_chn\实验一
#D:\ai_learn_chn

5.判断相对路径和绝对路径

os.path.isabs()区分相对路径与绝对路径。是绝对路径返回True,是相对路径就返回False

6.获取文件路径和文件名

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')

二.操作文件和文件夹

1.查询文件大小

os.path.getsize(path)获取路径中的文件字节数。

2.删除文件和文件夹

os.remove(path):删除文件。

os.rmdir(path):删除空文件夹(可删除path中的最后一层文件夹,不支持递归删除非空目录)。

3.重命名文件或文件夹

rename(旧的文件路径,修改后的文件路径)函数修改指定文件夹或文件的名称

renames(旧的文件路径,修改后的文件路径)函数递归修改文件夹或文件的名称,不仅重命名,还可递归移动文件夹到新路径(如将文件夹从E盘移动到F盘)。

4.复制文件

 os.link(旧的文件路径,复制到的文件路径)函数实现文件复制

5.获取文件夹中的全部文件名

os.listdir(路径) 获取文件夹内所有文件名的方法

强调其在模型训练中读取大量图片文件的应用场景

6.判断文件和文件夹

os.path.exists(path) 检查路径是否存在

os.path.isfile(path)判断path是否为文件,是就返回True

os.path.isdir(path) 判断path是否为文件夹,是就返回True

三.执行其他应用程序

1.命令提示符窗口或终端

实现在无图形界面的情况下操作计算机

cd 进入目录、md(make directory)创建文件夹

也可以通过路径直接启动应用程序

奶龙来了都能学会的Python基础(十)!!!之操作文件夹_第1张图片

以下是命令提示符(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命令)

注意事项

使用命令时需注意当前目录和权限,部分命令需要管理员权限才能执行。

2.system()方法

os库中的syetem()方法可用于实现命令提示符窗口的命令或终端的命令

import os
os.system("calc")

奶龙来了都能学会的Python基础(十)!!!之操作文件夹_第2张图片

用途:我们可以编写一个Python代码,用于每天打开计算机后启动一些需要使用的软件,从而提高工作效率

3.popen()方法

可用于获取执行命令后的结果,获取结果的方法与读取文件的方法类似

import os
a = os.popen('"D:\\hello.txt"','r')
print(a.read())

奶龙来了都能学会的Python基础(十)!!!之操作文件夹_第3张图片

4.压缩和解压文件

Python标准库中的zipfile可用于处理压缩文件

判断文件是否为zip文件:zipfile.is_zipfile(路径)

打开压缩文件:zipfile.ZipFile(路径,mode='r')不是直接解压压缩文件,而是与压缩文件建立联系,mode表示打开文件的模式与open()函数类似

当需要读取压缩文件中所包含的文件名称时,可以使用namelist()方法,以列表形式返回

import zipfile
z = zipfile.ZipFile("D:\mysql-5.7.19-winx64.zip",'r')
print(z.namelist())

奶龙来了都能学会的Python基础(十)!!!之操作文件夹_第4张图片

解压文件

压缩文件对象.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()方法关闭压缩文件,否则文件无法完成压缩

5.获取Zip文件中文件的属性信息

压缩文件对象.infolist()

返回每个文件的属性列表

四.sys库

1.sys库与system库的区别

  • SYS 库用于与 Python 解释器交互,如查询版本信息、传递参数到python代码中等。
  • system 函数用于驱动命令提示符或终端,功能不同。

2.sys库的主要功能

①获取Python信息

  • sys.version:获取当前 Python 版本。
  • sys.version_info:获取更详细的版本信息。

在一些实际案例中我们可以通过 sys.version_info 判断 Python 版本是否满足要求,若不满足则退出程序。

②控制程序退出

  • sys.exit():强制退出程序,可传递退出状态码(默认 0 表示成功)。

③获取系统信息

  • sys.maxsize:Python 对象的最大数据长度。
  • sys.platform:当前操作系统类型(如 Windows)。
  • sys.path:Python 解释器的安装路径。

④sys.argv的使用

功能::以列表形式接收命令行参数,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__))

奶龙来了都能学会的Python基础(十)!!!之操作文件夹_第5张图片

你可能感兴趣的:(奶龙来了都能学会的Python基础(十)!!!之操作文件夹)