一学就废|Python基础碎片,OS模块

news/2025/1/14 22:29:30/

        Python 中的操作系统模块提供了与操作系统交互的功能。操作系统属于 Python 的标准实用程序模块。该模块提供了一种使用依赖于操作系统的功能的可移植方式。osos. path模块包括许多与文件系统交互的函数。

Python-OS 模块函数

        我们将讨论 Python os 模块的一些重要功能:

  • 处理当前工作目录
  • 创建目录使用
  • Python 列出文件和目录
  • 使用 Python 删除目录或文件

处理当前工作目录

        将当前工作目录(CWD)视为 Python 正在运行的文件夹。每当文件仅通过名称调用时,Python 假定它在 CWD 中启动,这意味着只有当文件在 Python 的 CWD 中时,仅名称引用才会成功。

获取当前工作目录

        使用 os. getcwd()来获取当前工作目录的位置。

python">import os 
cwd = os.getcwd() 
print("Current working directory:", cwd) 
更改当前工作目录

        要更改当前工作目录(CWD)os. chdir()方法。此方法将 CWD 更改为指定路径。它只需要一个参数作为新的目录路径。

        以下代码检查并显示当前工作目录(CWD)两次:使用 os. chdir('…/')将目录向上更改一级之前和之后。它提供了一个如何在 Python 中使用当前工作目录的简单示例。

python">import os 
def current_path(): print("Current working directory before") print(os.getcwd()) print() 
current_path() 
os.chdir('../') 
current_path() 
创建目录

        通过在 Python 中使用 os. mkdir()方法,用于创建具有指定数字模式的名为 path 的目录。如果要创建的目录已经存在,则此方法会引发 FileExistsError。

python">import os
directory = "test1"
parent_dir = "D:/Pycharm projects/"
path = os.path.join(parent_dir, directory)os.mkdir(path)
print("Directory '% s' created" % directory)
directory = "test2"
parent_dir = "D:/Pycharm projects"
mode = 0o666
path = os.path.join(parent_dir, directory)
os.mkdir(path, mode)
print("Directory '% s' created" % directory)
  • 第一个目录是使用 os. mkdir()方法创建的,不指定模式。
  • 第二个目录使用相同的方法创建,但提供了特定模式(0o666),该模式授予读写权限。       

         Python 中的 os. makedirs()方法用于递归创建目录。这意味着在制作叶子目录时,如果缺少任何中级目录,os.makedirs()方法将全部创建。

        以下代码在不同的父目录中创建两个目录,“Nikhil” 和 “c”。它使用 os. makedrs 函数来确保在父目录不存在时创建它们。

python">import os
directory = "Nikhil"
parent_dir = "D:/Pycharm projects/test/Authors"
path = os.path.join(parent_dir, directory)
os.makedirs(path)
print("Directory '% s' created" % directory)
directory = "c"
parent_dir = "D:/Pycharm projects/test/a/b"
mode = 0o666
path = os.path.join(parent_dir, directory)
os.makedirs(path, mode)
print("Directory '% s' created" % directory)

列出文件和目录

        Python 中有 os. listdir()方法用于获取指定目录下所有文件和目录的列表。如果我们没有指定任何目录,那么将返回当前工作目录下的文件和目录列表。
 

python">import os 
path = "/"
dir_list = os.listdir(path) 
print("Files and directories in '", path, "' :") 
print(dir_list) Files and directories in ' / ' :
['sys', 'run', 'tmp', 'boot', 'mnt', 'dev', 'proc', 'var', 'bin', 'lib64', 'usr', 
'lib', 'srv', 'home', 'etc', 'opt', 'sbin', 'media']

删除目录或文件

        Python 中的 os. remove()方法用于删除或删除文件路径。此方法不能删除或删除目录。如果指定的路径是目录,则该方法将引发 OSError。

python">import os 
file = 'file1.txt'
location = "D:/Pycharm projects/test/Authors/Nikhil/"
path = os.path.join(location, file) 
os.remove(path) 

        Python 中的 os. rmdir()方法用于删除或删除空目录。如果指定的路径不是空目录,则会引发 OSError。

python">import os 
directory = "test"
parent = "D:/Pycharm projects/"
path = os.path.join(parent, directory) 
os.rmdir(path) 

常用函数和属性

os.name

        os.name给出导入的操作系统相关模块的名称。目前已注册以下名称:

        'posx'、'nt'、'os2'、'ce'、'java' 和 'riscos'。

python">import os
print(os.name)posix
os.error 

        以下代码读取名为 “test. txt” 的文件的内容。它使用 “try… 除外” 块来处理潜在的错误,特别是如果读取文件时出现问题可能会发生的 “IOError”。

python">import os
try:filename = 'test.txt'f = open(filename, 'rU')text = f.read()f.close()
except IOError:print('Problem reading: ' + filename)Problem reading: test.txt
os.rename()

        可以使用函数 os. rename()将文件 old.txt 重命名为 new.txt。仅当文件存在并且用户具有足够的权限来更改文件时,文件名才会更改。

python">import os
fd = "GFG.txt"
os.rename(fd,'New.txt')
os.path.exists()

        方法将通过传入文件名作为参数来检查文件是否存在。操作系统模块有一个名为 PATH 的子模块,通过它我们可以执行更多功能。

python">import os 
#importing os moduleresult = os.path.exists("file_name") #giving the name of the file as a parameter.print(result)
os.path.getsize()

        在 os. path.getsize()函数中,python 会以字节为单位给我们文件的大小。要使用此方法,我们需要将文件名作为参数传递。

python">import os #importing os module
size = os.path.getsize("filename")
print("Size of the file is", size," bytes.")


http://www.ppmy.cn/news/1563145.html

相关文章

正点原子STM32F103战舰版电容触摸键学习

一、tpad.h代码 #ifndef __TPAD_H #define __TPAD_H#include "./SYSTEM/sys/sys.h"/******************************************************************************************/ /* TPAD 引脚 及 定时器 定义 *//* 我们使用定时器的输入捕获功能, 对TPAD进行检…

20250110_ PyTorch中的张量操作

文章目录 前言1、torch.cat 函数2、索引、维度扩展和张量的广播3、切片操作3.1、 encoded_first_node3.2、probs 4、长难代码分析4.1、selected4.1.1、multinomial(1)工作原理: 总结 前言 1、torch.cat 函数 torch.cat 函数将两个张量拼接起来,具体地是…

第27章 汇编语言--- 设备驱动开发基础

汇编语言是低级编程语言的一种,它与特定的计算机架构紧密相关。在设备驱动开发中,汇编语言有时用于编写性能关键的部分或直接操作硬件,因为它是接近机器语言的代码,可以提供对硬件寄存器和指令集的直接访问。 要展开源代码详细叙…

Python单例模式的代码实现和原理

Python单例设计模式的代码实现 import threading import timeclass Singleton(object): def __new__(cls, *args, **kw):if not hasattr(cls, _instance):orig super(Singleton, cls)cls._instance orig.__new__(cls, *args, **kw)return cls._instanceclass Bus(Singleton…

数据链路层-STP

生成树协议STP(Spanning Tree Protocol) 它的实现目标是:在包含有物理环路的网络中,构建出一个能够连通全网各节点的树型无环逻辑拓扑。 选举根交换机: 选举根端口: 选举指定端口: 端口名字&…

2025软件测试面试题大全(含答案)备战“金三银四”

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 001、软件的生命周期(prdctrm) 计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与维护(running m…

Django后端相应类设计

通用的ApiResponse类:用于生成统一的 API 响应格式。每个响应都包含以下字段(每个接口最终的返回数据格式): status_code:HTTP 状态码(如 200、400、500 等)message:响应的描述信息…

LeetCode:39. 组合总和

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:39. 组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 cand…