Python3 OS模块中的文件/目录方法六

一. 简介

前面文章简单学习了Python3中 OS模块中的文件/目录的部分函数。

本文继续来学习 OS模块中文件、目录的操作方法。

二. Python3 OS模块中的文件/目录方法

1. os.lseek() 方法os.lstat() 方法

os.lseek() 方法用于在打开的文件中移动文件指针的位置。在Unix,Windows中有效。

lseek()方法语法格式如下:

os.lseek(fd, pos, whence)
    fd:文件描述符,表示已经打开的文件。
    pos:新的文件指针位置偏移量。
    whence:指定 pos 参数的参考点,可以是以下常量之一:
        os.SEEK_SET(0):从文件开头开始计算偏移量。
        os.SEEK_CUR(1):从当前文件指针位置开始计算偏移量。
        os.SEEK_END(2):从文件末尾开始计算偏移量。

示例如下:

#!/usr/bin/env python3

import os, sys

fd = os.open("file.txt", os.O_RDWR|os.O_CREAT)
os.write(fd, "zhangwanyi is a wonderful person.".encode())

#使用fsync()函数强制将缓冲区中的数据写入磁盘

#从文件开始位置读取字符串
os.lseek(fd, 0, 0)
msg = os.read(fd, 80)
print("read msg: ", msg)
os.close(fd)

运行后结果如下:

read msg:  b'zhangwanyi is a wonderful person.'

os.lstat() 方法用于类似 stat() 返回文件的信息,但是没有符号链接。

lstat()方法语法格式如下:

os.lstat(path)
path -- 要返回信息的文件。

示例如下:

#!/usr/bin/env python3

import os, sys

path = "file.txt"
fd = os.open(path, os.O_RDWR|os.O_CREAT)
os.close(fd)

info = os.lstat(path)
print("文件信息:", info)
print("文件 uid: %d" % info.st_uid)
print("文件 gid: %d" % info.st_gid)

运行后结果如下:

2.  os.major() 方法、os.makedev() 方法

os.major() 方法用于从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。

major()方法语法格式如下:

os.major(device)
参数
    device -- 原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。
返回值
返回设备major号码。

示例如下:

#!/usr/bin/env python3

import os, sys

path = "file.txt"

info = os.lstat(path)
major_number = os.major(info.st_dev)
minor_number = os.minor(info.st_dev)
print("Major number:", major_number)
print("Minor number:", minor_number)

运行结果如下:

Major number: 8
Minor number: 3

os.makedev() 方法用于以major和minor设备号组成一个原始设备号。

makedev()方法语法格式如下:

os.makedev(major, minor)

示例如下:

#!/usr/bin/env python3

import os, sys

path = "file.txt"
info = os.lstat(path)
#获取 major和 minor设备号
major_number = os.major(info.st_dev)
minor_number = os.minor(info.st_dev)
print("Major number:", major_number)
print("Minor number:", minor_number)

#以major和minor设备号组合成原始设备号
dev_number = os.makedev(major_number, minor_number)
print("Device number: ", dev_number)

运行后结果如下:

Major number: 8
Minor number: 3
Device number:  2051

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTB:Heist[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用smbclient匿…

【HarmonyOS NEXT】华为分享-碰一碰开发分享

关键词:鸿蒙、碰一碰、systemShare、harmonyShare、Share Kit 华为分享新推出碰一碰分享,支持用户通过手机碰一碰发起跨端分享,可实现传输图片、共享wifi等。我们只需调用系统 api 传入所需参数拉起对应分享卡片模板即可,无需对 U…

使用Inno Setup软件制作.exe安装包

1.下一步: 2. 填写 程序名字 和 版本号: 3.设置安装路径信息 4.添加要打包的exe和依赖文件 5.为应用程序创建关联的文件 如果不需要就直接取消勾选 6.创建快捷方式 (1)第一种:常用 (1)第二种&am…

CPU 缓存基础知识

并发编程首先需要简单了解下现代CPU相关知识。通过一些简单的图,简单的代码,来认识CPU以及一些常见的问题。 目录 CPU存储与缓存的引入常见的三级缓存结构缓存一致性协议MESI协议缓存行 cache line 通过代码实例认识缓存行的重要性 CPU指令的乱序执行通过…

初步搭建并使用Scrapy框架

目录 目标 版本 实战 搭建框架 获取图片链接、书名、价格 通过管道下载数据 通过多条管道下载数据 下载多页数据 目标 掌握Scrapy框架的搭建及使用,本文以爬取当当网魔幻小说为案例做演示。 版本 Scrapy 2.12.0 实战 搭建框架 第一步:在D:\pyt…

Python - itertools- pairwise函数的详解

前言: 最近在leetcode刷题时用到了重叠对pairwise,这里就讲解一下迭代工具函数pairwise,既介绍给大家,同时也提醒一下自己,这个pairwise其实在刷题中十分有用,相信能帮助到你。 参考官方讲解:itertools --- 为高效循…

YOLO-cls训练及踩坑记录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、模型训练 二、测试 三、踩坑记录 1、推理时设置的imgsz不生效 方法一: 方法二: 2、Windows下torchvision版本问题导致报错 总结 前…

云计算、AI与国产化浪潮下DBA职业之路风云变幻,如何谋破局启新途?

引言 在近日举办的一场「云和恩墨大讲堂」直播栏目中,云和恩墨联合创始人李轶楠、副总经理熊军和欧冶云商数据库首席薛晓刚共同探讨了DBA的现状与未来发展。三位专家从云计算、人工智能、国产化替代等多个角度进行了深入的分析和探讨,为从业者提供了宝贵…

PAT甲级-1017 Queueing at Bank

题目 题目大意 银行有k个窗口,每个窗口只能服务1个人。如果3个窗口已满,就需要等待。给出n个人到达银行的时间和服务时间,要求计算每个人的平均等待时间。如果某个人的到达时间超过17:00:00,则不被服务,等待时间也不计…

从零安装 LLaMA-Factory 微调 Qwen 大模型成功及所有的坑

文章目录 从零安装 LLaMA-Factory 微调 Qwen 大模型成功及所有的坑一 参考二 安装三 启动准备大模型文件 四 数据集(关键)!4.1 Alapaca格式4.2 sharegpt4.3 在 dataset_info.json 中注册4.4 官方 alpaca_zh_demo 例子 999条数据, 本机微调 5分…

AI刷题-策略大师:小I与小W的数字猜谜挑战

问题描述 有 1, 2,..., n ,n 个数字,其中有且仅有一个数字是中奖的,这个数字是等概率随机生成的。 Alice 和 Bob 进行一个游戏: 两人轮流猜一个 1 到 n 的数字,Alice 先猜。 每完成一次猜测,主持会大声…

【数据分享】1929-2024年全球站点的逐年最低气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标!说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 有关气象指标的监测站点数据,之前我们分享过1929-2024年全球气象站点…

CSDN 博客之星 2024:默语的技术进阶与社区耕耘之旅

CSDN 博客之星 2024:默语的技术进阶与社区耕耘之旅 🌟 默语,是一位在技术分享与社区建设中坚持深耕的博客作者。今年,我有幸再次入围成为 CSDN 博客之星TOP300 的一员,这既是对过往努力的肯定,也是对未来探…

计算机网络 (56)交互式音频/视频

一、定义与特点 定义:交互式音频/视频是指用户使用互联网和其他人进行实时交互式通信的技术,包括语音、视频图像等多媒体实时通信。 特点: 实时性:音频和视频数据是实时传输和播放的,用户之间可以进行即时的交流。交互…

Node.js——express中间件(全局中间件、路由中间件、静态资源中间件)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

嵌入式知识点总结 ARM体系与架构 专题提升(一)-硬件基础

嵌入式知识点总结 ARM体系与架构 专题提升(一)-硬件基础 目录 1.NAND FLASH 和NOR FLASH异同 ? 2.CPU,MPU,MCU,SOC,SOPC联系与差别? 3.什么是交叉编译? 4.为什么要交叉编译? 5.描述一下嵌入式基于ROM的运行方式和基于RAM的运行方式有什么区别? 1…

【JavaSE】(8) String 类

一、String 类常用方法 1、构造方法 常用的这4种构造方法:直接法,或者传参字符串字面量、字符数组、字节数组。 在 JDK1.8 中,String 类的字符串实际存储在 char 数组中: String 类也重写了 toString 方法,所以可以直…

JS(6)-数组

一.数组的基本使用 1.数组:把多个数据存到一组 每个数组都有编号,从零开始,数组的编号叫索引或下标,可以存放数字,字符串等。 2.取值 3.遍历数组:用循环的方法把每个数都访问到 a)练习 首先,定…

查看电脑或笔记本CPU的核心数方法及CPU详细信息

一、通过任务管理器查看 1.打开任务管理器 可以按下“Ctrl Shift Esc”组合键,或者按下“Ctrl Alt Delete”组合键后选择“任务管理器”来打开。 2.查看CPU信息 在任务管理器界面中,点击“性能”标签页,找到CPU使用记录区域&#xff0c…

Docker核心命令与Yocto项目的高效应用

随着软件开发逐渐向分布式和容器化方向演进,Docker 已成为主流的容器化技术之一。它通过标准化的环境配置、资源隔离和高效的部署流程,大幅提高了开发和构建效率。Yocto 项目作为嵌入式 Linux 系统构建工具,与 Docker 的结合进一步增强了开发…