当前位置: 首页 > 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;在…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...