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

Python语言零基础入门教程(二十五)

Python OS 文件/目录方法

Python语言零基础入门教程(二十四)

39、Python os.openpty() 方法

概述
os.openpty() 方法用于打开一个新的伪终端对。返回 pty 和 tty的文件描述符。

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

os.openpty()

参数

返回值
返回文件描述符对,主从。

实例
以下实例演示了 openpty() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os# 主 pty, 从 tty
m,s = os.openpty()print m
print s# 显示终端名
s = os.ttyname(s)
print m
print s

执行以上程序输出结果为:

3
4
3
/dev/pty0

40、Python os.pathconf() 方法

概述
os.pathconf() 方法用于返回一个打开的文件的系统配置信息。

Unix 平台下可用。

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

os.fpathconf(fd, name)

参数
name – 文件描述符

name – 检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。一些平台也定义了一些额外的名字。这些名字在主操作系统上pathconf_names的字典中。对于不在pathconf_names中的配置变量,传递一个数字作为名字,也是可以接受的。

返回值
返回文件的系统信息。

实例
以下实例演示了 fpathconf() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )print "%s" % os.pathconf_names# 获取文件最大连接数
no = os.fpathconf(fd, 'PC_LINK_MAX')
print "Maximum number of links to the file. :%d" % no# 获取文件名最大长度
no = os.fpathconf(fd, 'PC_NAME_MAX')
print "Maximum length of a filename :%d" % no# 关闭文件
os.close( fd)print "关闭文件成功!!"

执行以上程序输出结果为:

关闭文件成功!!

41、Python os.pipe() 方法

概述
os.pipe() 方法用于创建一个管道, 返回一对文件描述符(r, w) 分别为读和写。

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

os.pipe()

参数

返回值
返回文件描述符对。

实例
以下实例演示了 pipe() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sysprint "The child will write text to a pipe and "
print "the parent will read the text written by child..."# file descriptors r, w for reading and writing
r, w = os.pipe() processid = os.fork()
if processid:# This is the parent process # Closes file descriptor wos.close(w)r = os.fdopen(r)print "Parent reading"str = r.read()print "text =", str   sys.exit(0)
else:# This is the child processos.close(r)w = os.fdopen(w, 'w')print "Child writing"w.write("Text written by child...")w.close()print "Child closing"sys.exit(0)

执行以上程序输出结果为:

The child will write text to a pipe and
the parent will read the text written by child...
Parent reading
Child writing
Child closing
text = Text written by child...

42、Python os.popen() 方法

概述
os.popen() 方法用于从一个命令打开一个管道。

在Unix,Windows中有效

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

os.popen(command[, mode[, bufsize]])

参数
command – 使用的命令。

mode – 模式权限可以是 ‘r’(默认) 或 ‘w’。

bufsize – 指明了文件需要的缓冲大小:0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。

返回值
返回一个文件描述符号为fd的打开的文件对象

实例
以下实例演示了 popen() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 使用 mkdir 命令
a = 'mkdir nwdir'b = os.popen(a,'r',1)print b

执行以上程序输出结果为:

open file 'mkdir nwdir', mode 'r' at 0x81614d0

43、Python os.read() 方法

概述
os.read() 方法用于从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。

在Unix,Windows中有效

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

os.read(fd,n)
参数
fd – 文件描述符。

n – 读取的字节。

返回值
返回包含读取字节的字符串

实例
以下实例演示了 read() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys
# 打开文件
fd = os.open("f1.txt",os.O_RDWR)# 读取文本
ret = os.read(fd,12)
print ret# 关闭文件
os.close(fd)
print "关闭文件成功!!"

执行以上程序输出结果为:

This is test
关闭文件成功!!

44、Python os.readlink() 方法

概述
os.readlink() 方法用于返回软链接所指向的文件。可能返回绝对或相对路径。

在Unix中有效

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

os.readlink(path)

参数
path – 要查找的软链接路径

返回值
返回软链接所指向的文件

实例
以下实例演示了 readlink() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import ossrc = '/usr/bin/python'
dst = '/tmp/python'# 创建软链接
os.symlink(src, dst)# 使用软链接显示源链接
path = os.readlink( dst )
print path

执行以上程序输出结果为:

/usr/bin/python

45、Python os.remove() 方法

概述
os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出 OSError。

该方法与 unlink() 相同。

在Unix, Windows中有效

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

os.remove(path)

参数
path – 要移除的文件路径

返回值
该方法没有返回值

实例
以下实例演示了 remove() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 列出目录
print "目录为: %s" %os.listdir(os.getcwd())# 移除
os.remove("aa.txt")# 移除后列出目录
print "移除后 : %s" %os.listdir(os.getcwd())

执行以上程序输出结果为:

目录为:
[ 'a1.txt','aa.txt','resume.doc' ]
移除后 : 
[ 'a1.txt','resume.doc' ]

46、Python os.removedirs() 方法

概述
os.removedirs() 方法用于递归删除目录。像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空)。

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

os.removedirs(path)

参数
path – 要移除的目录路径

返回值
该方法没有返回值

实例
以下实例演示了 removedirs() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 列出目录
print "目录为: %s" %os.listdir(os.getcwd())# 移除
os.removedirs("/test")# 列出移除后的目录
print "移除后目录为 %s :" %os.listdir(os.getcwd())

执行以上程序输出结果为:

目录为:
[  'a1.txt','resume.doc','a3.py','test' ]
移除后目录为:
[  'a1.txt','resume.doc','a3.py' ]

47、Python os.rename() 方法

概述
os.rename() 方法用于命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。

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

os.rename(src, dst)

参数
src – 要修改的文件或目录名

dst – 修改后的文件或目录名

返回值
该方法没有返回值

实例
以下实例演示了 rename() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 列出目录
print "目录为: %s"%os.listdir(os.getcwd())# 重命名
os.rename("test","test2")print "重命名成功。"# 列出重命名后的目录
print "目录为: %s" %os.listdir(os.getcwd())

执行以上程序输出结果为:

目录为:
[  'a1.txt','resume.doc','a3.py','test' ]
重命名成功。
[  'a1.txt','resume.doc','a3.py','test2' ]

48、Python os.renames() 方法

概述
os.renames() 方法用于递归重命名目录或文件。类似rename()。

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

os.renames(old, new)

参数
old – 要重命名的目录

new --文件或目录的新名字。甚至可以是包含在目录中的文件,或者完整的目录树。

返回值
该方法没有返回值

实例
以下实例演示了 renames() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys
print "当前目录为: %s" %os.getcwd()# 列出目录
print "目录为: %s"%os.listdir(os.getcwd())# 重命名 "aa1.txt"
os.renames("aa1.txt","newdir/aanew.txt")print "重命名成功。"# 列出重命名的文件 "aa1.txt"
print "目录为: %s" %os.listdir(os.getcwd())

执行以上程序输出结果为:

当前目录为: /tmp
目录为:[  'a1.txt','resume.doc','a3.py','aa1.txt','Administrator','amrood.admin' ]
重命名成功。
目录为:[  'a1.txt','resume.doc','a3.py','Administrator','amrood.admin' ]

49、Python os.rmdir() 方法

概述
os.rmdir() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。

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

os.rmdir(path)

参数
path – 要删除的目录路径

返回值
该方法没有返回值

实例
以下实例演示了 rmdir() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 列出目录
print "目录为: %s"%os.listdir(os.getcwd())# 删除路径
os.rmdir("mydir")# 列出重命名后的目录
print "目录为: %s" %os.listdir(os.getcwd())

执行以上程序输出结果为:

目录为:
[  'a1.txt','resume.doc','a3.py','mydir' ]
目录为:
[  'a1.txt','resume.doc','a3.py' ]

50、Python os.stat() 方法

概述
os.stat() 方法用于在给定的路径上执行一个系统 stat 的调用。

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

os.stat(path)

参数
path – 指定路径

返回值
stat 结构:

st_mode: inode 保护模式
st_ino: inode 节点号。
st_dev: inode 驻留的设备。
st_nlink: inode 的链接数。
st_uid: 所有者的用户ID。
st_gid: 所有者的组ID。
st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
st_atime: 上次访问的时间。
st_mtime: 最后一次修改的时间。
st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。

实例
以下实例演示了 stat() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 显示文件 "a2.py" 信息
statinfo = os.stat('a2.py')print statinfo

执行以上程序输出结果为:

posix.stat_result(st_mode=33188, st_ino=3940649674337682L, st_dev=277923425L, st
_nlink=1, st_uid=400, st_gid=401, st_size=335L, st_atime=1330498089, st_mtime=13
30498089, st_ctime=1330498089)

相关文章:

Python语言零基础入门教程(二十五)

Python OS 文件/目录方法 Python语言零基础入门教程(二十四) 39、Python os.openpty() 方法 概述 os.openpty() 方法用于打开一个新的伪终端对。返回 pty 和 tty的文件描述符。 语法 openpty()方法语法格式如下: os.openpty()参数 无 返…...

蓝桥杯算法训练合集十五 1.打翻的闹钟2.智斗锅鸡3.文件列表

目录 1.打翻的闹钟 2.智斗锅鸡 3.文件列表 1.打翻的闹钟 问题描述 冯迭伊曼晚上刷吉米多维奇刷的太勤奋了,几乎天天迟到。崔神为了让VonDieEman改掉迟到的坏毛病,给他买了个闹钟。 一天早上,老冯被闹钟吵醒,他随手将闹钟按掉丢…...

CPU扫盲-CPU与指令集

指令集架构就像是特定的CPU的设计图纸,它规定了这个CPU需要支持那些指令、寄存器有那些状态以及输入输出模型。根据指令集结构的设计,在CPU上通过硬件电路进行实现,就得到了支持该指令集的CPU。指令集就像是我们编程语言中的接口,…...

VINS-Mono/Fusion与OpenCV去畸变对比

VINS中没有直接使用opencv的去畸变函数,而是自己编写了迭代函数完成去畸变操作,主要是为了加快去畸变计算速度 本文对二者的结果精度和耗时进行了对比 VINS-Mono/Fusion与OpenCV去畸变对比1 去畸变原理2 代码实现2.1 OpenCV去畸变2.2 VINS去畸变3 二者对…...

jmx prometheus引起的一次cpu飙高

用户接入了jmx agent进行prometheus监控后,在某个时间点出现cpu飙高 排查思路: 1、top,找到java进程ID 2、top -Hp 进程ID,找到java进程下占用高CPU的线程ID 3、jstack 进程ID,找到那个高CPU的线程ID的堆栈。 4、分析堆…...

Android 虚拟 A/B 详解(六) SnapshotManager 之状态数据

本文为洛奇看世界(guyongqiangx)原创,转载请注明出处。 原文链接:https://blog.csdn.net/guyongqiangx/article/details/129094203 Android 虚拟 A/B 分区《AAndroid 虚拟 A/B 分区》系列,更新中,文章列表: Android 虚拟分区详解(一) 参考资料推荐Android 虚拟分区详解(二…...

Python快速入门系列之一:Python对象

Python对象1. 列表(list)2. 元组(tuple)3. 字典(dict)4. 集合(set)5. 字符串(string)6. BIF (Built-in Function)7. 列表、集合以及字…...

【博客626】不同类型的ARP报文作用以及ARP老化机制

不同类型的ARP报文作用以及ARP老化机制 1、ARP协议及报文 2、不同类型的ARP报文作用 3、ARP工作原理 4、ARP老化机制 5、Linux ARP老化机制 ARP状态机: 在上图中,我们看到只有arp缓存项的reachable状态对于外发包是可用的,对于stale状态的…...

nacos discovery和config

微服务和nacos版本都在2.x及之后。1、discovery用于服务注册,将想要注册的服务注册到nacos中,被naocs发现。pom引入的依赖是:yml配置文件中:2、config用于获取nacos配置管理->配置列表下配置文件中的内容pom引入的依赖是&#…...

【算法数据结构体系篇class06】:堆、大根堆、小根堆、优先队列

一、堆结构1)堆结构就是用数组实现的完全二叉树结构2)完全二叉树中如果每棵子树的最大值都在顶部就是大根堆3)完全二叉树中如果每棵子树的最小值都在顶部就是小根堆4)堆结构的heapInsert与heapify操作5)堆结构的增大ad…...

试题 算法提高 最小字符串

资源限制内存限制:256.0MB C/C时间限制:2.0s Java时间限制:6.0s Python时间限制:10.0s问题描述给定一些字符串(只包含小写字母),要求将他们串起来构成一个字典序最小的字符串。输入格式第一行T,表示有T组数据。接下来T…...

已解决ImportError: cannot import name ‘featureextractor‘ from ‘radiomics‘

已解决from radiomics import featureextractor导包,抛出ImportError: cannot import name ‘featureextractor‘ from ‘radiomics‘异常的正确解决方法,亲测有效!!! 文章目录报错问题报错翻译报错原因解决方法联系博…...

乡村振兴研究:全网最全指标农村经济面板数据(2000-2021年)

数据来源:国家统计局 时间跨度:2000-2021年 区域范围:全国31省 指标说明: 部分样例数据: 行政区划代码地区年份经度纬度乡镇数(个)乡数(个)镇数(个)村民委员会数(个)乡村户数(万户)乡村人口(万人)乡村从业人员(万人…...

C语言中用rand()函数产生一随机数

在C语言中如何产生一个随机数呢&#xff1f;用rand()函数。 rand()函数在头文件&#xff1a;#include <stdio.h>中&#xff0c;函数原型&#xff1a;int rand(void);。rand()会返回一个范围在0到RAND_MAX&#xff08;32767&#xff09;之间的随机数&#xff08;整数&…...

关于系统架构

1.系统架构分类: C/S架构 B/S架构 2.C/S架构 Client / Server&#xff08;客户端 / 服务器&#xff09; 特点&#xff1a;需要安装特定的客户端软件。 C/S架构的系统优点和缺点: 优点&#xff1a; 1)速度快(软件中数据大部分都是集成到客户端当中&#xff0c;很少量的数据从服…...

LeetCode 1237. 找出给定方程的正整数解

原题链接 难度&#xff1a;middle\color{orange}{middle}middle 2023/2/18 每日一题 题目描述 给你一个函数 f(x,y)f(x, y)f(x,y) 和一个目标结果 zzz&#xff0c;函数公式未知&#xff0c;请你计算方程 f(x,y)zf(x,y) zf(x,y)z 所有可能的正整数 数对 xxx 和 yyy。满足条件…...

【ArcGIS Pro二次开发】(5):UI管理_自定义控件的位置

新增的自定义控件一般放在默认的【加载项】选项卡下&#xff0c;但是根据需求&#xff0c;我们可能需要将控件放在新的自定义选项卡下&#xff0c;在自定义选项卡添加系统自带的控件&#xff0c;将自定义的按钮等控件放在右键菜单栏里以方便使用&#xff0c;等等。 下面就以一…...

学习OpenGL图形2D/3D编程

环境&#xff1a;WindowsVisual Studio 2019最流行的几个库&#xff1a;GLUT&#xff0c;SDL&#xff0c;SFML和GLFWGLFWGLAD库查看显卡OPENGL支持情况VS2019glfwgladopenGL3.3顶点着色器片段着色器VAO-VBO-(EBO)->渲染VAO-VBO-EBO->texture纹理矩阵matrix对图形transfor…...

2023美赛思路 | A题时间序列预测任务的模型选择总结

2023美赛思路 | A题时间序列预测任务的模型选择总结 目录 2023美赛思路 | A题时间序列预测任务的模型选择总结基本介绍数据描述任务介绍时序模型基本介绍 这道题分析植被就行,主要涉及不同植被间的相互作用,有竞争有相互促进,我查了下“植物科学数据中心”和“中国迁地保护植…...

PHP教材管理系统设计(源代码+毕业论文)

【P003】PHP教材管理系统设计&#xff08;源代码论文&#xff09; 设计方案 本系统采用B/S结构&#xff0c;所有的程序及数据都放在服务器上&#xff0c;终端在取得相应的权限后使用Web页面浏览&#xff0c;录入&#xff0c;修改等功能。在语言方面使用PHP语言&#xff0c;在…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言&#xff1a;我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM&#xff08;Java Virtual Machine&#xff09;让"一次编写&#xff0c;到处运行"成为可能。这个软件层面的虚拟化让我着迷&#xff0c;但直到后来接触VMware和Doc…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中&#xff0c;云安全与网络安全作为信息安全的两大支柱&#xff0c;常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异&#xff0c;并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全&#xff1a;聚焦于保…...