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.mzph.cn/news/228821.shtml

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

相关文章

全国职业院校技能大赛“大数据应用开发”赛项说明

1、赛项介绍 (1)赛项名称 全 国 职 业 院 校 技 能 大 赛 “大数据应用开发” 赛 项 职业院校技能大赛官网 (vcsc.org.cn)https://www.vcsc.org.cn/ 大赛组织机构介绍 全国职业院校技能大赛(以下简称大…

【数据结构】八大排序之希尔排序算法

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 一.优化直接插入排序算法 我们在之前对直接插入排序算法的优化部分通过对直接插入排序的分析可以得到一个结论,即: 进行直接插入排序的数组,如果越接近局部有序,则后续进行直…

电脑技巧:笔记本电脑保养技巧诀,让你的电脑多用几年

新到手的宝贝笔记本电脑爱不释手,要想它长久的陪伴,平时的维护与保养自然不能少,今天小编给大家分享一下,如何保养和维护笔记本的各个部件。 一、电 池 电池是笔记本实现移动办公的重要部件,电池状况直接影响了电池的…

最完整的Web视频加密播放技术实现(含技术调研和Demo源码)

大厂技术 高级前端 Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 作者:然燃 (感谢小伙伴投稿分享)原文链接: https://juejin.cn/post/7307934456995856419 最近又遇到了web视频化的场景&a…

Axure动态面板的使用

一. 动态面板 Axure动态面板是Axure RP软件中的一个功能模块,用于创建交互式原型和模拟应用程序的动态效果。它可以模拟用户在应用程序中的操作流程,并展示不同状态之间的变化,提供更真实的用户体验。通过创建不同的状态和添加交互效果&…

21--集合小案例

案例--图书管理系统 1.创建实体类Book package com.work.pojo; /** *Author: 憨憨浩浩 *CreateTime: 2023-12-16 17:27 *Description: Book实体类 */ public class Book {private int id; // 编号private String name; // 图书名称private String author;…

C++软件调试与异常排查技术从入门到精通学习路线分享

目录 1、概述 2、全面了解引发C软件异常的常见原因 3、熟练掌握排查C软件异常的常见手段与方法 3.1、IDE调试 3.2、添加打印日志 3.3、分块注释代码 3.4、数据断点 3.5、历史版本比对法 3.6、Windbg静态分析与动态调试 3.7、使用IDA查看汇编代码 3.8、使用常用工具分…

【AI】模型结构可视化工具Netron应用

随着AI模型的发展,模型的结构也变得越来越复杂,理解起来越来越困难,这时候能够画一张结构图就好了,就像我们在开发过程中用到的UML类图,能够直观看出不同层之间的关系,于是Netron就来了。 Netron支持神经网…

leetcode 236. 二叉树的最近公共祖先

leetcode 236. 二叉树的最近公共祖先 题目 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽…

Vue3使用Three.js导入gltf模型并解决模型为黑色的问题

背景 如今各类数字孪生场景对三维可视化的需求持续旺盛,因为它们可以用来创建数字化的双胞胎,即现实世界的物体或系统的数字化副本。这种技术在工业、建筑、医疗保健和物联网等领域有着广泛的应用,可以帮助人们更好地理解和管理现实世界的事…

VAR模型

VAR(Vector Autoregression)模型是一种用于时间序列分析的统计模型,它可以描述多个变量之间的相互关系和动态演化。VAR模型最初是由Sims(1980)提出的,广泛应用于宏观经济学、金融领域以及其他时间序列数据分…

Restrict Content Pro WordPress – 限制会员内容 付费内容网站(包含所有扩展)

Restrict Content Pro WordPress限制会员内容专业插件 强大的内容限制工具和强大的 WordPress 会员网站,都在一个易于管理的插件中。 购买Restrict Content Pro 最新版本并加入超过23000 名快乐客户的俱乐部。 使用 Restrict Content Pro 插件将您的独家内容锁定…

Python 全栈体系【四阶】(六)

第四章 机器学习 五、线性模型 1. 概述 线性模型是自然界最简单的模型之一,它描述了一个(或多个)自变量对另一个因变量的影响是呈简单的比例、线性关系。例如: 住房每平米单价为 1 万元,100 平米住房价格为 100 万…

windows电脑半夜突然睡眠自动唤醒的问题查找与治理

遇见几次了,半夜起来上厕所,发现休眠的电脑居然自己开了,还得跑过去把电脑再休眠,很烦。昨天晚上居然自动唤醒两次,忍无可忍了,于是开始查找原因。 查询原因如下,解决方面也在后面。 固件 S3 计…

Linux驱动开发学习笔记4《设备树下的LED驱动实验》

目录 一、设备树LED驱动原理 二、硬件原理图分析 三、实验程序编写 1.修改设备树文件 2.LED 灯驱动程序编写 3.编写测试APP 四、运行测试 1. 编译驱动程序和测试APP (1) 编译驱动程序 (2) 编译测试APP ​ 2.运行测试 一、…

Win11 PS无法拖动文件到任务栏打开

Win11 PS无法拖动文件到任务栏打开 1.软件环境2.问题描述3.解决方法3.1.确保Win11更新到22H2版本以上3.2.确保禁止拖放关闭3.3.修复系统注册表 4.修复效果预览 1.软件环境 Windows11 企业版64位 22H2 Adobe Photoshop 25.2.0 20231101.m.2385 38bb2d3 x64 2.问题描述 很多人在…

SpringBoot配置文件加载的优先级及自定义配置

Spring Boot使用一个非常特殊的PropertySource顺序,旨在允许合理的值重写,越靠前优先级越高。属性按以下顺序考虑: 开发者工具Devtools全局配置参数 在IDEA或Eclipse中,安装并启用Spring Boot Devtools插件。打开项目的Settings…

股票价格预测 | Python实现基于ARIMA和LSTM的股票预测模型(含XGBoost特征重要性衡量)

文章目录 效果一览文章概述模型描述源码设计效果一览 文章概述 Python实现基于ARIMA和LSTM的股票预测模型(Stock-Prediction) Data ExtractionFormatting data for time seriesFeature engineering(Feature Importance using X

信号与线性系统预备训练3——MATLAB软件在信号与系统中的应用初步

信号与线性系统预备训练3——MATLAB软件在信号与系统中的应用初步 The Preparatory training3 of Signals and Linear Systems 对应教材:《信号与线性系统分析(第五版)》高等教育出版社,吴大正著 一、目的 1.熟悉和回顾MATLAB…

Pycharm第三方库导入失败避坑!

最近遇到了明明安装了 python 第三方库,但是在 pycharm 当中却导入不成功的问题。 使用Pycharm手动安装三方库和自动安装三方库都失败,以及Pycharm终端使用pip命令安装也未解决。网上找各种方法尝试都没成功,原来是一不小心就跳进了虚拟环境…