当前位置: 首页 > news >正文

OS常用操作

目录

1 文件和目录操作

1. 1 创建目录

1.2 删除目录

1.3 列出目录内容

1.4 删除文件

1.5 打开和关闭文件描述符 

1.6 修改文件权限

1.7 获取和设置文件属性

2 路径操作

2.1 获取当前工作目录

2.2 改变工作目录

2.3 路径操作

2.4 添加 Python 的模块搜索路径列表

3 环境变量

4 系统相关


1 文件和目录操作

1. 1 创建目录

import osos.mkdir('new_directory')  # 创建单级目录
os.makedirs('new_directory/sub_directory')  # 递归创建多级目录

1.2 删除目录

os.rmdir('new_directory')  # 删除单级目录(目录必须为空)
os.removedirs('new_directory/sub_directory')  # 递归删除多级目录(每级目录都必须为空)

1.3 列出目录内容

contents = os.listdir('.')  # 列出当前目录的内容

1.4 删除文件

os.remove('file.txt')  # 删除文件
os.rename('old_name.txt', 'new_name.txt')  # 重命名文件

1.5 打开和关闭文件描述符 

fd = os.open('file.txt', os.O_RDWR | os.O_CREAT)  # 打开文件描述符
os.close(fd)  # 关闭文件描述符

1.6 修改文件权限

os.chmod('file.txt', 0o644)  # 修改文件权限

1.7 获取和设置文件属性

file_stats = os.stat('file.txt')  # 获取文件属性os.utime('file.txt', (access_time, modification_time))  # 设置文件的访问时间和修改时间

2 路径操作

2.1 获取当前工作目录

current_dir = os.getcwd()

2.2 改变工作目录

os.chdir('/path/to/directory')

2.3 路径操作

os.path.join('dir', 'subdir', 'file.txt')  # 组合路径
os.path.abspath('file.txt')  # 获取绝对路径
os.path.basename('/path/to/file.txt')  # 获取文件名
os.path.dirname('/path/to/file.txt')  # 获取目录名
os.path.exists('/path/to/file.txt')  # 判断路径是否存在
os.path.isdir('/path/to/directory')  # 判断是否为目录
os.path.isfile('/path/to/file.txt')  # 判断是否为文件

2.4 添加 Python 的模块搜索路径列表

os.sys.path.append("../")

3 环境变量

home_dir = os.getenv('HOME')  # 获取环境变量的值
os.environ['MY_VAR'] = 'my_value'  # 设置环境变量的值

4 系统相关

os.system('ls -l')  # 在命令行执行命令os_type = os.name  # 返回操作系统类型(如 'posix', 'nt')import platform
platform_info = platform.system()  # 返回操作系统名称(如 'Linux', 'Windows', 'Darwin')pid = os.getpid()  # 获取当前进程ID

相关文章:

OS常用操作

目录 1 文件和目录操作 1. 1 创建目录 1.2 删除目录 1.3 列出目录内容 1.4 删除文件 1.5 打开和关闭文件描述符 1.6 修改文件权限 1.7 获取和设置文件属性 2 路径操作 2.1 获取当前工作目录 2.2 改变工作目录 2.3 路径操作 2.4 添加 Python 的模块搜索路径列表 3 …...

【IC验证】03 UVM

...

Jira的原理及应用详解(六)

本系列文章简介: 在当今快速发展的软件开发和项目管理领域,有效的团队协作和精确的项目进度追踪是确保项目成功的关键。Jira作为一款广受欢迎的项目和问题追踪工具,以其强大的功能、灵活的定制性以及卓越的用户体验,赢得了全球众多…...

Linux进程间通信之System V

目录 认识system V: system V共享内存: 共享内存的基本原理: 共享内存的数据结构: 共享内存的建立与释放: 共享内存的建立: 共享内存的释放: 共享内存的关联: 共享内存的去关联…...

力扣hot100:394. 字符串解码(递归/括号匹配,字符串之间相对顺序)

LeetCode:394. 字符串解码 本题容易想到用递归处理,在写递归时主要是需要明确自己的递归函数的定义。 不过我们也可以利用括号匹配的方式使用栈进行处理。 1、递归 定义递归函数string GetString(string & s,int & i); 表示处理处理整个numbe…...

【C++11】多线程常用知识

知识体系 thread C++ thread中最常用的两个函数是join和detach,怎么选择呢,简单来说,如果希望等待线程结束,用join,如果希望异步执行,且不等待执行结果,那么就用detach;thread_local可以简单理解为一个线程级别的全局变量;线程id在调试多线程程序时是非常有用的东西;…...

详解linux设备下的/dev/null

/dev/zero是一个特殊的设备文件,它在Linux系统中通常被用来生成无限数量的零数据流。 这个设备文件位于/dev目录下,它不代表任何实际的硬件设备,而是一个虚拟设备。 当从/dev/zero设备中读取数据时,会得到无限数量的零字节&…...

GPT-4 Turbo 和 GPT-4 的区别

引言 人工智能(AI)领域的发展日新月异,OpenAI 的 GPT 系列模型一直是这一领域的佼佼者。GPT-4 和 GPT-4 Turbo 是目前市场上最先进的语言模型之一。本文将详细探讨 GPT-4 和 GPT-4 Turbo 之间的区别,以帮助用户更好地理解和选择适…...

基于小波多分辨分析的一维时间序列信号趋势检测与去除(MATLAB R2018a)

小波最开始是数学上提出的概念,并且在纯数学的王国里存在了一个世纪之久。最开始是为了弥补傅里叶分析的缺陷,即傅里叶级数发散的问题,并寻找出能够代替傅里叶分析的方法。从最早的一些艰难的探索开始直到慢慢发展成为一套完整系统的小波分析…...

Linux RedHat7.6操作系统的xfs格式化后,mount不生效

Linux RedHat7.6操作系统的xfs格式化后,mount不生效 问题现象 最近在准备测试环境的过程中,当对xfs文件系统格式化后,mount磁盘,通过df -h命令查看,未显示挂载磁盘信息 [rootZHZXLxjspo0db003 ~]# mount /dev/datavg/datavg-lv_data /data…...

高并发ping多台主机IP

简介 社区或者是大型公司往往有成千上万或者几百台设备,保持设备始终在线对网络运维人员来说至关重要,然而一个一个登录检查,或者一个一个ping并不明智,累人且效率极低,并出错率高。花钱买检测服务当我没说。 shell编…...

03 Linux 内核数据结构

Linux kernel 有四种重要的数据结构:链表、队列、映射、二叉树。普通驱动开发者只需要掌握链表和队列即可。 链表和队列 Linux 内核都有完整的实现,我们不需要深究其实现原理,只需要会使用 API 接口即可。 1、链表 链表是 Linux 内核中最简单、最普通的数据结构。链表是一…...

关于软件调用独显配置指引【笔记】

关于笔记本电脑不支持独显直连的,bios下也是没有切换独显直连的选项的,处理方法 简单的来说按照图片指引可配置让软件调用独显: 1、进入系统→屏幕→显示卡界面; 2、【添加应用】浏览需要调用独显的软件安装目录,并打开…...

正大国际期货:什么是主力合约?

一个期货品种,在同一时间段,会上市多个月份的合约, 由于主力合约交易量大,流动性高,一般建议新手交易主力合约。 主力合约通常指交易集中,流动性好的合约 ,即在一段时间内交易量和持仓量最大的…...

codeforces round 949 div2

A Turtle and Piggy Are Playing a Game 题目&#xff1a; 思路&#xff1a;输出2的幂次b使得2^b为最大的不超过x的数 代码&#xff1a; #include <iostream>using namespace std;const int N 2e5 10;void solve() {int l, r;cin >> l >> r;if(r % 2) …...

分享美好,高清无阻 - 直播极简联网解决方案

1、需求背景 随着移动互联网、UGC模式和直播平台的发展&#xff0c;网络直播的门槛日益降低&#xff0c;越来越多的人希望成为直播的主角。基于物联网的户外直播无线联网解决方案应运而生&#xff0c;满足直播者的需求。 户外直播无线联网解决方案提供了无处不在的直播体验&a…...

贪心算法-加油站

一、题目描述 二、解题思路 1.运动过程分析 这里需要一个油箱剩余油量的变量resGas&#xff0c;初始化resGas0&#xff1b;还需要一个标记从什么位置当做初始位置的startIdx&#xff0c;初始化startIdx0。 我们从数组下标idx0处开始向后遍历&#xff0c;初始时startIdx0&#…...

【ArcGIS微课1000例】0116:将度-分-秒值转换为十进制度值(字段计算器VBA)

相关阅读:【ArcGIS微课1000例】0087:经纬度格式转换(度分秒转度、度转度分秒) 文章目录 一、计算方法二、计算案例一、计算方法 将度分秒转换为十进制度的简单等式: DD = (Seconds/3600) + (Minutes/60) + Degrees如果角度值是负数,则转换方法不同。其中一种方法是: …...

【中国开源生态再添一员】天工AI开源自家的Skywork

刚刚看到《AI高考作文出圈&#xff0c;网友票选天工AI居首》&#xff0c;没想到在Huggingface中发现了Skywork大模型。天工大模型由昆仑万维自研&#xff0c;是国内首个对标ChatGPT的双千亿级大语言模型&#xff0c;天工大模型通过自然语言与用户进行问答式交互&#xff0c;AI生…...

【机器学习300问】109、什么是岭回归模型?

在进行回归任务时间&#xff0c;可以能会遇到特征数量多于观测数量或某些特征变量之间相关性较高&#xff08;几乎线性相关&#xff09;时&#xff0c;标准的线性回归模型的系数估计可能非常不精确&#xff0c;可以理解成独立方程个数小于未知数个数此时方程有无穷多解。 例如&…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机&#xff0c;交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息&#xff0c;系统版本&#xff1a;Ubuntu22.04.5 LTS&#xff1b;内核版本…...

JDK 17 序列化是怎么回事

如何序列化&#xff1f;其实很简单&#xff0c;就是根据每个类型&#xff0c;用工厂类调用。逐个完成。 没什么漂亮的代码&#xff0c;只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...