os功能模板

【 一 】简介

  os 就是 “operating system” 的缩写,顾名思义,os 模块提供的就是各种 Python 程序与操作系统进行交互的接口。通过使用 os 模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性。如果该模块中相关功能出错,会抛出 OSError 异常或其子类异常。

注意: 本模块提供了一种使用与操作系统相关的功能的便捷式途径。如果是读写文件的话,建议使用内置函数 open() ;如果是路径相关的操作,建议使用 os 的子模块 os.path ;如果要逐行读取多个文件,建议使用 fileinput 模块;要创建临时文件或路径,建议使用 tempfile 模块;要进行更高级的文件和路径操作则应当使用 shutil 模块。

        当然,使用 os 模块可以写出操作系统无关的代码,并不意味着 os 无法调用一些特定系统的扩展功能,但要切记一点:一旦这样做就会极大损害代码的可移植性

        此外,导入 os 模块时还要小心一点,千万 不要 为了图调用省事儿而将os 模块解包导入,即不要使用:

from os import *

来导入os模块;否则os.open() 将会覆盖内置函数open(),从而造成预料之外的错误。

【 二 】引言

【 1 】 模块的导入

        模块的导入语法为:import + 模块名
        import [ ɪmˈpɔːt]:输入,导入。
        注意:import 与模块名之间有个空格。



一个模块就是一个写好了代码的Py 文件,里面有类、函数、变量。
我们通常需要通过调用模块中的类、函数、变量来实现某些特定的功能:

调用模块中的某一个类、函数或变量的语法如下:
1. 调用模块下的类:模块名.类名(),如 csv.DictReader()
2. 调用模块下的函数:模块名.函数名(),如 os.mkdir()
3. 调用模块下的变量:模块名.变量名,如 os.name()

【 3 】常用的os 模块命令
注意:os 模块是Python的内置模块,使用前不需要安装,但需要import 导入。
 

【 三 】常用功能

注意:  os模板中大多数接收路径作为参数的函数也可以接受“文件描述符”作为参数。

文件描述: file descriptor, 在Python文档中简记为fd,是一个与某个打开的文件对象绑定的整数们可以理解为该文件在系统中的编号。

【 1 】 os.getcwd()获取当前工作目录

import oslujing_dir = os.getcwd()
print('当前的工作目录为:',lujing_dir)
# 当前的工作目录为: C:\Users\小白\PycharmProjects\pythonProject2\3

【 2 】os.mkdir()创建目录

import osnew_dir = '创建新的目录'
os.mkdir(new_dir)

new_dir = 就是你要创建目录的名字

【 3 】os.listdir()列出目录内容

import os
dir_path = '.'
dir_mulu = os.listdir(dir_path)
for i in dir_mulu:print(i)
# 01.py
# 01.txt
# 02.py
# 02.txt
# 03.py
# 05.py
# 1.py
# 1作业.py
# 2.py
# 2.练习.py
# 3.py
# 6.py
# os模板.py
# 创建新的目录
# 时间模块.py
# 随机模块.py

【 4 】os.remove()删除文件或os.rmdir()目录 

import os
# 删除文件
file_path = '5.txt'
os.remove(file_path)
# 删除目录
dir_path = '创建新的目录'
os.rmdir(dir_path)

【 5 】os.rename重命名文件或目录

import os
# 旧的文件名字目录也可以
old_name = '6.py'
# 新的文件路径
new_name = '06.py'
os.rename(old_name,new_name)

----------------------------------------------------------------------------------------------

【 6 】os.path.exists检查路径是否存在

import os
path = '02.txt'
exists = os.path.exists(path)
print("检查路径是否存在:",exists)
# 检查路径是否存在: True

【 7 】os.system()执行系统命令

import oscommand = 'ls-l'
os.system(command)

【 8 】os.path.abspath()获取文件或者目录的决定路径

import os
bt_path  = '1.txt'
new_path = os.path.abspath(bt_path)
print('获取文件或者目录的绝对路径:',new_path)
# 获取文件或者目录的绝对路径: C:\Users\小白\PycharmProjects\pythonProject2\3\1.txt

【 9 】os.path.join() 拼接路径

import osdirectory = "/path/to/directory/test"
filename = "01.txt"
file_path = os.path.join(directory, filename)
print("File path: ", file_path)# File path:  /path/to/directory/test\01.txt

【 10 】os.oath.isdir()判断是否为文件或者目录

import os
path = '3.txt'
path1 = 'func'
is_wenjian = os.path.isfile(path)
is_mulu = os.path.isdir(path1)
print('是不是文件:',is_wenjian)
print('是不是目录:',is_mulu)

【 11】 os.path.getmtime()获取文件大小和修改时间

import os,timepath ='01.txt'
size = os.path.getsize(path)
xiu_time = os.path.getmtime(path)
formatt_time = time.ctime(xiu_time)
print(size)
print(xiu_time)
print(formatt_time)
# 161
# 1702544373.5834434
# Thu Dec 14 16:59:33 2023

【 12 】获取当前文件所在的路径

import os
#获取当前脚本所在的文件夹路径
name_dir = os.path.dirname(os.path.abspath(__file__))
print('获取当前文件夹路径',name_dir)
# 获取当前文件夹路径 C:\Users\小白\PycharmProjects\pythonProject2\3

需要注意的是,在使用 os 模块时,需要根据操作系统的不同考虑路径的分隔符问题。在 Windows 中,路径分隔符为反斜杠 \;在 Unix/Linux/Mac 中,路径分隔符为正斜杠 /。可以使用 os.sep 变量获取当前操作系统的路径分隔符。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/282259.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux-----8、相关符号

# 相关符号 # 1、名词解释 标准输入(stdin):键盘上的输入 文件描述符—>0 标准输出(stdout):屏幕上 正确 的输出 文件描述符—>1 标准错误(stderr):屏幕上 错误…

为什么MCU在ADC采样时IO口有毛刺?

大家在使用MCU内部ADC进行信号采样一个静态电压时,可能在IO口上看到这样的波形。这个时候大家一般会认识是信号源有问题,但仔细观察会发现这个毛刺的频率是和ADC触发频率一样的。 那么为什么MCU在ADC采样时IO口会出现毛刺呢?这个毛刺对结果有…

ActionCLIP:A New Paradigm for Video Action Recognition

文章目录 ActionCLIP: A New Paradigm for Video Action Recognition动机创新点相关工作方法多模态框架新范式预训练提示微调 实验实验细节消融实验关键代码 总结相关参考 ActionCLIP: A New Paradigm for Video Action Recognition 论文:https://arxiv.org/abs/21…

【Spark面试】Spark面试题答案

目录 1、spark的有几种部署模式,每种模式特点?(☆☆☆☆☆) 2、Spark为什么比MapReduce块?(☆☆☆☆☆) 3、简单说一下hadoop和spark的shuffle相同和差异?(☆☆☆☆☆…

mybatis中oracle的sql没走索引导致特别慢(未加jdbcType的)

如果直接跑sql是能走索引很快,在mybatis中不能,可能就是jdbcType的原因。 比如,我有一个属性A,在表里面是VARCHAR2类型,但是在mybatis中的sql是#{a},缺少jdbcTypeJdbcType.VARCHAR,就会导致myba…

【精选】计算机网络教程(第3章数据链路层)

目录 前言 第3章数据链路层 1、差错检测(CRC) 2、点对点协议(了解应用场景) 3、什么是碰撞域,什么是广播域 碰撞域(Collision Domain): 广播域(Broadcast Domain&a…

1.Mybatis框架基本使用

特点: mybatis是一款优秀的持久层框架 支持定制化的SQL、存储过程以及高级映射 mybatis可以使用简单的XML或注解来配置和映射原生类型、接口和java的POJO实例 优点: 1.简单、灵活、sql和代码分离,提高可维护性 2.提供映射标签,支持对象与数据库的orm字段关系映射 3.提…

python+pytest接口自动化(16)-接口自动化项目中日志的使用 (使用loguru模块)

通过上篇文章日志管理模块loguru简介,我们已经知道了loguru日志记录模块的简单使用。在自动化测试项目中,一般都需要通过记录日志的方式来确定项目运行的状态及结果,以方便定位问题。 这篇文章我们使用loguru模块来记录接口自动化测试中的日…

灾备建设中,虚拟机异构平台恢复技术原理与应用

在如今混合云环境下,实现异构虚拟化恢复与迁移面临着极大挑战。不同于市面上有代理的恢复方案,虚拟机无代理跨平台恢复解决方案利用自主研发的转换引擎(VMCE)对已备份虚拟机文件进行高效的存储格式转换和配置信息转换,…

介绍strncpy函数

strncpy函数需要引用#include <string.h>头文件 函数原型&#xff1a; char *_Dest 是字符串的去向 char *_Source是字符串的来源 size_t_Count是复制字符串的大小 #include <stdio.h> #include <string.h> int main() { char arr[128] { \0 }; …

openGauss学习笔记-163 openGauss 数据库运维-备份与恢复-导入数据-使用COPY FROM STDIN导入数据-简介

文章目录 openGauss学习笔记-163 openGauss 数据库运维-备份与恢复-导入数据-使用COPY FROM STDIN导入数据-简介163.1 关于COPY FROM STDIN导入数据163.2 CopyManager类简介163.2.1 CopyManager的继承关系163.2.2 构造方法163.2.3 常用方法 openGauss学习笔记-163 openGauss 数…

Android动画

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、动画实现3.1 帧动画资源文件中实现…