首页 > 其他分享 >内置模块之os、sys模块

内置模块之os、sys模块

时间:2022-10-20 20:57:20浏览次数:63  
标签:d2 sys 文件夹 模块 path os d1

内置模块之os、sys模块

os与sys模块的区别

  • os模块主要与操作系统打交道
  • sys模块主要与python解释器打交道

os模块

os模块主要用于对接我们的操作系统。

os模块主要有以下功能,这些功能都需要导入os模块使用。

import os

语句 功能
os.mkdir()\os.makedirs 创建目录\多级目录
os.rmdir()\os.removedirs() 删除目录\多级目录(空目录)
os.listdir()\os.listdir('路径') 查看执行\指定文件夹下的内容名称
os.rename() 重命名
os.remove() 删除文件
os.getcwd() 获取当前工作目录
os.chdir() 切换工作目录
os.path.abspath() 获取文件的绝对路径
os.path.dirname() 获取文件所在的文件夹路径
os.path.exists()\isfile()\isdir() 判断文件路径\文件\文件夹是否存在
os.path.join() 路径拼接
os.path.getsize() 获取文件大小(字节为单位)

创建目录

# 创建单级目录
os.mkdir('d1')  # 相对路径建目录(文件夹),在执行文件所在路径下创建目录
os.mkdir(r'd1\d2\d3')  # 运行失败,不可以创建多级目录,仅可创建单级目录
os.mkdir('d1\d2')  # 在d1已创建的情况下,可以通过相对路径在d1下创建d2
# 创建多级目录
os.makedirs(r'd1\d2\d3')  # 可以创建多级目录
os.makedirs(r'd11')  # 也可以创建单级目录

删除目录

# 删除单级目录
os.rmdir(r'd1\d2\d3')  # d3被删除,只要输入相对路径,会将末梢最底层的文件夹作为删除对象
os.removedirs(r'd1')  # 报错,因为d1内还有d2文件夹,而os模块只能删空目录
os.removedirs(r'd1\d2')  # d2是空的,删完后d1也空,所以d1也被删,删除了多级目录

查看文件夹下的内容

print(os.listdir())  # 查看执行文件所在文件夹的内容,返回列表,显示所有文件名
print(os.listdir('d1'))  # 查看指定文件夹的内容,可以是相对路径或者绝对路径

重命名\移动路径

os.rename(r'd1\d2', r'd1\d3')  # 将d2文件夹名改为d3
os.rename(r'd1\d3', r'd2\d3')  # 将d1文件夹下的d3转移到d2路径下(如果d2文件夹存在的话)

删除文件

os.remove('d1\d2\f1.txt')  # 删除指定路径下的文件(权限较低)

获取当前工作目录

print(os.getcwd())  # 拿到执行文件所在文件夹(如果没有切换工作目录的话)

切换工作目录

os.chdir('d1')  # 根据相对路径切换工作目录
print(os.getcwd())  # 相比较没更改之前,多了个\d1

获取文件的绝对路径\文件夹路径

一般来说这个语句常搭配__file__使用,__file__表示当前文件。而下面的函数需要传入文件类型的参数。

print(os.path.abspath(__file__))  # 获取当前文件的绝对路径
print(os.path.dirname(__file__))  # 获取当前文件所在文件夹的绝对路径

判断文件路径\文件\文件夹是否存在

print(os.path.exists(r'd1\d2'))  # 判断路径\文件是否存在
print(os.path.isfile(r'd1\d2\f1.txt'))  # 只判断文件是否存在(多加了个文件判断)
print(os.path.isdir(r'd1\d2\d3'))  # 只判断路径是否存在(多加了个路径判断)

路径拼接(**)

路径拼接广泛应用于,新建文件夹到某个文件夹下,新建文件到某个文件夹下(w模式的open)。

如:我们要往执行文件所在文件夹下的db文件夹写入用户文件,就可以用到路径拼接。

ROOT_PATH = os.path.dirname(__file__)  # 执行文件就在根目录下,获取根目录
DB_PATH = os.path.join(ROOT_PATH, 'db')  # 拼接db文件夹路径
if not os.path.isdir(DB_PATH):  # 如果没有创建db文件夹
    os.makedirs(DB_PATH)  # 则创建对应的文件夹
user_path = os.path.join(DB_PATH, 'name1.txt')  # 根据名字进行命名,并拼接到db文件夹后
with open(user_path, 'w', encoding='utf8') as f:  # w模式下,文件不存在则创建新文件
    f.write('我存储了name1用户的数据')

获取文件大小

print(os.path.getsize(r'db\name1.txt'))  # 32  # 得到指定路径文件的数据大小,单位为字节

sys模块

sys模块主要对接我们的python解释器。

语句 功能
sys.path 获取系统环境变量
sys.getrecursionlimit() 获取解释器最大递归深度
sys.setrecursionlimit() 更改解释器最大递归深度
sys.version 获取解释器版本号
sys.platform 平台信息
sys.argv 从文件外部得到参数

系统环境变量

之前在模块名查找顺序那里描述过,如果不是内置模块,则会在系统环境变量里面的路径依次寻找。

sys.path  # 本身是列表
# 列表的第一项一般是执行文件所在的文件夹

image

获取\更改解释器最大递归深度

为了防止程序无限递归占用内存,而设置的保护机制。

print(sys.getrecursionlimit())  # 1000
sys.setrecursionlimit(1500)  # 将深度更改为1500
print(sys.getrecursionlimit())  # 1500

获取解释器版本号\平台信息

print(sys.version)  # 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)]
print(sys.platform)  # win32

从文件外部得到参数(了解)

# a.py内部书写以下代码
import sys
print(sys.argv)
# 如果直接在pycharm里面运行此py文件,那么运行结果是:
['C:/pycharm_project/pythonProject/a.py']  # 文件的绝对路径

但是如果我们通过命令行按下图来执行,结果会不一样:

image

额外得到了三个参数,并添加到了列表中,用这种方法我们就可以在执行文件时,要求用户密码校验了,如:

import sys
_, user, pwd = sys.argv  # 解压赋值得到user和pwd
if user == 'leethon'  and pwd == '123':
    执行其他功能代码

标签:d2,sys,文件夹,模块,path,os,d1
From: https://www.cnblogs.com/Leethon-lizhilog/p/16811236.html

相关文章

  • python进阶之路18 os、sys、json模块
    os模块与sys模块os模块主要与操作系统打交道sys模块主要与python解释器打交道os模块(重要)os模块主要与代码运行所在的操作系统打交道importos#1.创建目录(......
  • 对象存储OSS
    阿里OSS存储开通对象存储oss服务开通服务管理控制台阿里云对象存储OSS(ObjectStorageService)是一款海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%......
  • 模块
    Python3OS文件/目录方法os模块提供了非常丰富的方法用来处理文件和目录。常用的方法如下表所示:importos#1创建目录#os.mkdir(r'd1')#相对路径在执行文件所在的......
  • 常见模块
    今日内容总结模块os模块importos1.创建目录(文件夹)os.mkdir(r'd1')#相对路径在执行文件所在的路径下创建目录可以创建单级目录os.mkdir(r'd2\d22\d222')#......
  • bochs-2.7 make编译时出错cannot generate system identifier for public text "-//OA
    问题错误日志在使用命令sudomake编译bochs-2.7时,遇到以下报错:make-Cdoc/docbookmake[1]:Enteringdirectory'/opt/bochs-2.7/doc/docbook'mkdir-pdevelopmen......
  • 模块
    os模块(重要)1.创建目录(文件夹)importosos.mkdir(r'd1')#相对路劲,在执行文件所在的路径下创建目录,但是可以创建单级目录os.mkdir(r'd2\d22\d222')#不可以创建多级目录......
  • 常用内置模块之os、sys、json简介
    昨日内容回顾包的使用包与普通模块的使用相同。导入包实际是导入了包内的双下iter文件,可以使用该文件内的名称。软件开发目录规范启动相关文件夹bin......
  • 重要内置模块
    目录一.os模块1.创建目录(文件夹)2.删除目录(文件夹)3.列举指定路径下内容名称4.删除/重命名文件5.获取/切换当前工作目录6.动态获取项目根路径(重要)7.判断路径是否存在(......
  • comsol光学模块学习01
    1.求解形式COMSOLMultiphysics是以有限元法为基础,通过求解偏微分方程(单场)或偏微分方程组(多场)来实现真实物理现象的仿真,用数学方法求解真实世界的物理现象。有限元分析......
  • python(os模块)
    模块os模块(重要)os模块是python中这里文件和目录最常用的模块,该模块提供了非常丰富的方法用来处理文件和目录。创建文件夹​ os.mkdir():创建一个新的文件夹(目录......