Python3 操作文件目录的方法
本文主要介绍了python操作文件或目录的函数,欢迎大家的学习。
Python内置的os模块能直接调用操作系统提供的接口函数。
获取操作系统信息
import os
a = os.name # 操作系统类型
print(a) # 输出nt
a = os.uname() # windows系统没有定义
输出:

os.name输出posix,表示系统是Linux、Unix或Mac OS X,输出nt,表示是Windows系统
os.uname()函数在Windows上没有定义(os模块的某些函数和操作系统相关)
系统环境变量
os.environ变量存放了当前操作系统的全部环境变量
要获取某个具体环境变量的值,调用os.environ.get('key')
import os
a = os.environ # 系统环境变量
print(a)
# 获取某个具体环境变量的值
a = os.environ.get('PATH')
print(a)
输出:

操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中。
查看、创建和删除目录
import os
# 查看当前目录的绝对路径
a = os.path.abspath('.')
print(a) # 输出E:\python_pro
# 在某个目录下创建一个新目录,要先获取新目录的完整路径
p = os.path.join(a, 'aa')
print(p) # 输出E:\python_pro\aa
# 然后创建一个目录
os.mkdir(p)
# 删掉一个目录
os.rmdir(p)
如果创建的目录已经存在,会报错:

目录路径处理函数
拼接两个目录路径时,不要直接拼字符串,要使用os.path.join()函数
该函数会正确处理不同操作系统的路径分隔符。
在Linux/Unix/Mac系统下,os.path.join()返回字符串:part-1/part-2
Windows系统下会返回的字符串:part-1\part-2
要拆分路径时,不要直接去拆字符串,要使用os.path.split()函数
把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名
os.path.splitext()函数直接获取文件扩展名
import os
# 处理路径
a = os.path.split("E:\python_pro\python\own.txt")
print(a) # 输出('E:\\python_pro\\python', 'own.txt')
a = os.path.splitext("E:\python_pro\python\own.txt")
print(a) # 输出('E:\\python_pro\\python\\own', '.txt')
路径处理函数不要求目录和文件要真实存在,就是对字符串进行操作。
文件操作函数
文件操作使用的函数有重命名,删除
import os
# 对文件重命名
os.rename('aa.txt', 'aa.py')
# 删掉文件
os.remove('aa.py')
在os模块中没有复制文件的函数,原因是复制文件并非由操作系统提供的系统调用。
shutil模块提供了copyfile()的文件复制函数
from shutil import *
import os
# 查看当前目录的绝对路径
a = os.path.abspath('.')
print(a) # 输出E:\python_pro
# 获取文件的完整路径
p = os.path.join(a, 'aa.txt')
print(p) # 输出E:\python_pro\aa.txt
# 文件复制
copyfile(p, 'aa.py')
Python过滤文件
要列出当前目录下的所有目录或列出所有的.py文件,代码:
import os
# 当前目录下的所有目录
a= [x for x in os.listdir('.') if os.path.isdir(x)]
print(a) # 输出['.idea', 'own', '__pycache__']
# 当前目录下的所有的.py文件
a = [x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1]=='.py']
print(a) # 输出['aa.py', 'index.py']

相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型