Python语言零基础入门教程(二十三)
16、Python os.fpathconf() 方法
概述
os.fpathconf() 方法用于返回一个打开的文件的系统配置信息。
Unix上可用。
语法
fpathconf()方法语法格式如下:
os.fpathconf(fd, name)
参数
fd – 打开的文件的描述符。
name – 可选,和buffersize参数和Python内建的open函数一样,mode参数可以指定『r,w,a,r+,w+,a+,b』等,表示文件的是只读的还是可以读写的,以及打开文件是以二进制还是文本形式打开。这些参数和C语言中的<stdio.h>中fopen函数中指定的mode参数类似。
bufsize – 检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(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 "文件最大连接数为 :%d" % no# 获取文件名最大长度
no = os.fpathconf(fd, 'PC_NAME_MAX')
print "文件名最大长度为 :%d" % no# 关闭文件
os.close( fd )print "关闭文件成功!!"
执行以上程序输出结果为:
{'PC_MAX_INPUT': 2, 'PC_VDISABLE': 8, 'PC_SYNC_IO': 9,
'PC_SOCK_MAXBUF': 12, 'PC_NAME_MAX': 3, 'PC_MAX_CANON': 1,
'PC_PRIO_IO': 11, 'PC_CHOWN_RESTRICTED': 6, 'PC_ASYNC_IO': 10,
'PC_NO_TRUNC': 7, 'PC_FILESIZEBITS': 13, 'PC_LINK_MAX': 0,
'PC_PIPE_BUF': 5, 'PC_PATH_MAX': 4}文件最大连接数为 :127
文件名最大长度为 :255
Closed the file successfully!!
17、Python os.fstat() 方法
概述
os.fstat() 方法用于返回文件描述符fd的状态,类似 stat()。
Unix,Windows上可用。
fstat 方法返回的结构:
st_dev: 设备信息st_ino: 文件的i-node值st_mode: 文件信息的掩码,包含了文件的权限信息,文件的类型信息(是普通文件还是管道文件,或者是其他的文件类型)st_nlink: 硬连接数st_uid: 用户IDst_gid: 用户组 IDst_rdev: 设备 ID (如果指定文件)st_size: 文件大小,以byte为单位st_blksize: 系统 I/O 块大小st_blocks: 文件的是由多少个 512 byte 的块构成的st_atime: 文件最近的访问时间st_mtime: 文件最近的修改时间st_ctime: 文件状态信息的修改时间(不是文件内容的修改时间)
语法
fstat()方法语法格式如下:
os.fstat(fd)
参数
fd – 文件的描述符。
返回值
返回文件描述符fd的状态。
实例
以下实例演示了 fstat() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )# 获取元组
info = os.fstat(fd)print "文件信息 :", info# 获取文件 uid
print "文件 UID :%d" % info.st_uid# 获取文件 gid
print "文件 GID :%d" % info.st_gid# 关闭文件
os.close( fd)
执行以上程序输出结果为:
文件信息 : (33261, 3753776L, 103L, 1, 0, 0, 102L, 1238783197, 1238786767, 1238786767)
文件 UID :0
文件 GID :0
18、Python os.fstatvfs() 方法
概述
os.fstatvfs() 方法用于返回包含文件描述符fd的文件的文件系统的信息,类似 statvfs()。
Unix上可用。
fstatvfs 方法返回的结构:
f_bsize: 文件系统块大小f_frsize: 分栈大小f_blocks: 文件系统数据块总数f_bfree: 可用块数f_bavail:非超级用户可获取的块数f_files: 文件结点总数f_ffree: 可用文件结点数f_favail: 非超级用户的可用文件结点数f_fsid: 文件系统标识 IDf_flag: 挂载标记f_namemax: 最大文件长度
语法
fstatvfs()方法语法格式如下:
os.fstatvfs(fd)
参数
fd – 文件的描述符。
返回值
返回包含文件描述符fd的文件的文件系统的信息。
实例
以下实例演示了 fstatvfs() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )# 获取元组
info = os.fstatvfs(fd)print "文件信息 :", info# 获取文件名最大长度
print "文件名最大长度 :%d" % info.f_namemax# 获取可用块数
print "可用块数 :%d" % info.f_bfree# 关闭文件
os.close( fd)
执行以上程序输出结果为:
文件信息 : (4096, 4096, 2621440L, 1113266L, 1113266L, 8929602L, 8764252L, 8764252L, 0, 255)
文件名最大长度 :255
可用块数 :1113266
19、Python os.fsync() 方法
概述
os.fsync() 方法强制将文件描述符为fd的文件写入硬盘。在Unix, 将调用fsync()函数;在Windows, 调用 _commit()函数。
如果你准备操作一个Python文件对象f, 首先f.flush(),然后os.fsync(f.fileno()), 确保与f相关的所有内存都写入了硬盘.在unix,Windows中有效。
Unix、Windows上可用。
语法
fsync()方法语法格式如下:
os.fsync(fd)
参数
fd – 文件的描述符。
返回值
该方法没有返回值。
实例
以下实例演示了 fsync() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )# 写入字符串
os.write(fd, "This is test")# 使用 fsync() 方法.
os.fsync(fd)# 读取内容
os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print "读取的字符串为 : ", str# 关闭文件
os.close( fd)print "关闭文件成功!!"
执行以上程序输出结果为:
读取的字符串为 : This is test
关闭文件成功!!
20、Python os.ftruncate() 方法
概述
os.ftruncate() 裁剪文件描述符fd对应的文件, 它最大不能超过文件大小。
Unix, Windows上可用。
语法
ftruncate()方法语法格式如下:
os.ftruncate(fd, length)
参数
fd – 文件的描述符。
length – 要裁剪文件大小。
返回值
该方法没有返回值。
实例
以下实例演示了 ftruncate() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )# 写入字符串
os.write(fd, "This is test - This is test")# 使用 ftruncate() 方法
os.ftruncate(fd, 10)# 读取内容
os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print "读取的字符串是 : ", str# 关闭文件
os.close( fd)print "关闭文件成功!!"
执行以上程序输出结果为:
读取的字符串是 : This is te
关闭文件成功!!
21、Python os.getcwd() 方法
概述
os.getcwd() 方法用于返回当前工作目录。
语法
getcwd()方法语法格式如下:
os.getcwd()
参数
无
返回值
返回当前进程的工作目录。
实例
以下实例演示了 getcwd() 方法的使用:
实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 切换到 "/var/www/html" 目录
os.chdir("/var/www/html" )# 打印当前目录
print "当前工作目录 : %s" % os.getcwd()# 打开 "/tmp"
fd = os.open( "/tmp", os.O_RDONLY )# 使用 os.fchdir() 方法修改目录
os.fchdir(fd)# 打印当前目录
print "当前工作目录 : %s" % os.getcwd()# 关闭文件
os.close( fd )
执行以上程序输出结果为:
当前工作目录 : /var/www/html
当前工作目录 : /tmp
22、Python os.getcwdu() 方法
概述
os.getcwdu() 方法用于返回一个当前工作目录的Unicode对象。
Unix, Windows 系统下可用。
语法
getcwdu()方法语法格式如下:
os.getcwdu()
参数
无
返回值
返回一个当前工作目录的Unicode对象。
实例
以下实例演示了 getcwdu() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 切换到 "/var/www/html" 目录
os.chdir("/var/www/html" )# 打印当前目录
print "当前工作目录 : %s" % os.getcwdu()# 打开 "/tmp"
fd = os.open( "/tmp", os.O_RDONLY )# 使用 os.fchdir() 方法修改目录
os.fchdir(fd)# 打印当前目录
print "当前工作目录 : %s" % os.getcwdu()# 关闭文件
os.close( fd )
执行以上程序输出结果为:
当前工作目录 : /var/www/html
当前工作目录 : /tmp
23、Python os.isatty() 方法
概述
os.isatty() 方法用于判断如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False。
语法
isatty()方法语法格式如下:
os.isatty()
参数
无
返回值
如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False。
实例
以下实例演示了 isatty() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )# 写入字符串
os.write(fd, "This is test")# 使用 isatty() 查看文件
ret = os.isatty(fd)print "返回值: ", ret# 关闭文件
os.close( fd )
执行以上程序输出结果为:
返回值: False
24、Python os.lchflags() 方法
概述
os.lchflags() 方法用于设置路径的标记为数字标记,类似 chflags(),但是没有软链接。
只支持在 Unix 下使用。
语法
lchflags()方法语法格式如下:
os.lchflags(path, flags)
参数
path – 设置标记的文件路径
flags – 可以由一个或多个标记组合,多个使用"|"隔开:
UF_NODUMP: 非转储文件
UF_IMMUTABLE: 文件是只读的
UF_APPEND: 文件只能追加内容
UF_NOUNLINK: 文件不可删除
UF_OPAQUE: 目录不透明,需要通过联合堆栈查看
SF_ARCHIVED: 可存档文件(超级用户可设)
SF_IMMUTABLE: 文件是只读的(超级用户可设)
SF_APPEND: 文件只能追加内容(超级用户可设)
SF_NOUNLINK: 文件不可删除(超级用户可设)
SF_SNAPSHOT: 快照文件(超级用户可设)
返回值
该方法没有返回值。
实例
以下实例演示了 lchflags() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 打开文件
path = "/var/www/html/foo.txt"
fd = os.open( path, os.O_RDWR|os.O_CREAT )# 关闭文件
os.close( fd )# 修改文件标记
ret = os.lchflags(path, os.UF_IMMUTABLE )print "修改文件标记成功!!"
执行以上程序输出结果为:
修改文件标记成功!!
25、Python os.lchmod() 方法
概述
os.lchmod() 方法用于修改连接文件权限。
只支持在 Unix 下使用。
语法
lchmod()方法语法格式如下:
os.lchmod(path, mode)
参数
path – 设置标记的文件路径
mode – 可以是以下一个或多个组成,多个使用 “|” 隔开:
stat.S_ISUID:设置 UID 位
stat.S_ISGID: 设置组 ID 位
stat.S_ENFMT: 系统文件锁定的执法行动
stat.S_ISVTX: 在执行之后保存文字和图片
stat.S_IREAD: 对于拥有者读的权限
stat.S_IWRITE: 对于拥有者写的权限
stat.S_IEXEC: 对于拥有者执行的权限
stat.S_IRWXU:对于拥有者读、写、执行的权限
stat.S_IRUSR: 对于拥有者读的权限
stat.S_IWUSR: 对于拥有者写的权限
stat.S_IXUSR: 对于拥有者执行的权限
stat.S_IRWXG: 对于同组的人读写执行的权限
stat.S_IRGRP: 对于同组读的权限
stat.S_IWGRP:对于同组写的权限
stat.S_IXGRP: 对于同组执行的权限
stat.S_IRWXO: 对于其他组读写执行的权限
stat.S_IROTH: 对于其他组读的权限
stat.S_IWOTH: 对于其他组写的权限
stat.S_IXOTH:对于其他组执行的权限
返回值
该方法没有返回值。
实例
以下实例演示了 lchmod() 方法的使用:
#!/usr/bin/python
# -*- coding: UTF-8 -*-import os, sys# 打开文件
path = "/var/www/html/foo.txt"
fd = os.open( path, os.O_RDWR|os.O_CREAT )# 关闭文件
os.close( fd )# 修改文件权限
# 设置文件可以通过组执行
os.lchmod( path, stat.S_IXGRP)# 设置文件可以被其他用户写入
os.lchmod("/tmp/foo.txt", stat.S_IWOTH)print "修改权限成功!!"
执行以上程序输出结果为:
修改权限成功!!
相关文章:
Python语言零基础入门教程(二十三)
16、Python os.fpathconf() 方法 概述 os.fpathconf() 方法用于返回一个打开的文件的系统配置信息。 Unix上可用。 语法 fpathconf()方法语法格式如下: os.fpathconf(fd, name)参数 fd – 打开的文件的描述符。 name – 可选,和buffersize参数和Pyt…...
[ansible系列]ansible使用扩展
目录 一. 本地执行 二. 任务委托 三. 任务暂停 四. 滚动执行 五. 只执行一次 六. 设置环境变量 七. 交互提示 一. 本地执行 我们知道ansible的是操作被控端的,所有执行的动作都是在被控端上完成的,当然在某些特定的时候我们想要有些tas…...
Java工具类(时间格式转换)
import java.util.Date; import java.text.DateFormat; /** * 格式化时间类 * DateFormat.FULL 0 * DateFormat.DEFAULT 2 * DateFormat.LONG 1 * DateFormat.MEDIUM 2 * DateFormat.SHORT 3 * author Michael * version 1.0, 2007/03/09 */ public c…...

数据库(第五次作业)
1.1 Redis概述 1.1.1 什么是Redis 2008年,意大利的一家创业公司Merzia推出了一款基于MySQL的网站实时统计系统LLOOGG,然而没过多久该公司的创始人 Salvatore Sanfilippo便开始对MySQL的性能感到失望,于是他决定亲自为LLOOGG量身定做一个数据…...

代码随想录【Day16】| 110. 平衡二叉树、257. 二叉树的所有路径、404. 左叶子之和
110. 平衡二叉树 题目链接 题目描述: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,nul…...

套娃式工具!用 AI 识别 AI ?#AI classifier
2022年以来,市面上就出现了不少 AI 生成文本的工具,尤其是 OpenAI 推出的 ChatGPT ,不仅能够协助完成撰写邮件、视频脚本、文案、翻译、代码等任务,还能通过学习和理解人类的语言来进行对话,并根据聊天的上下文进行互动…...

CURL error 60: SSL certificate problem: certificate has expired
项目使用guzzleHttp做的一个接口,报错:certificate has expired 因为在linux centos环境与window环境有所不同,在此记录一下解决过程。 目录 报错提示 原因 解决方式 1.去掉guzzlehttp的验证 2.更新CA证书 总结 报错提示 cURL error 60…...
接口自动化:requests
引言:目前软件测试对测试人员的能力要求 业务测试能力:占比5-6成接口、自动化、性能测试能力:占比4-5成流程规范:1成(需要综合型的测试人才):业务能力、代码能力、开发思维(封装&…...
极简TypeScript教程--数据类型
TypeScript最大的特点就是有类型检测,格式为let/const 标识符: 数据类型 赋值;例子:let msg: string Hello World这样msg这个变量就有了字符串类型,如果再给他赋值为数字类型,就会在编译期报错。变量的类型推导在开发中,有时候为了方便起见…...

JAVA开发测试(jmeter如何测试性能与估算)
对C的业务网站或应用,进行性能测试来评估使用服务器情况是必不可少的一项工作。 一、测试工具: Apache JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能,是Apache组织开发的…...
【新解法】华为OD机试 - 求解连续数列 | 备考思路,刷题要点,答疑,od Base 提供
华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 求解连续数列 | 备考思路,刷题要点,答疑,od Base 提供 题目 已知连续正整数数列{K}=K1,K2,K3… Ki的各个数相加之和为S, i = N (0 < S < 100000, 0 < N < 100000), 求此数列K。 输入 输…...
Python3 File(文件) 方法
Python3 File(文件) 方法 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象。 在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 注意:使用 open() 方法一定要保证关闭文件对…...

APP渗透抓包
APP渗透抓包1.APP渗透测试原理2.安装安卓模拟器抓包2.1.安装模拟器2.2.设置代理下载证书2.2.1.burp suite设置代理2.2.2.浏览器设置代理2.2.3.下载证书2.3.模拟器安装证书2.3.1.移动证书2.3.2.证书设置2.4.设置代理2.4.1.设置burp suite代理2.4.2.夜神模拟器代理2.5.抓包测试2.…...
力扣(LeetCode)414. 第三大的数(2023.02.16)
给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。 示例 1: 输入:[3, 2, 1] 输出:1 解释:第三大的数是 1 。 示例 2: 输入:[1, 2] 输出:2…...
Spring底层
一、什么是Spring?谈谈你对IOC和AOP的理解。Spring: 是一个企业级java应用框架,他的作用主要是 简化软件的开发以及配置过程,简化项目部署环境。Spring的有点:1、Spring低侵入设计,对业务代码的污染非常低。…...
Cache-Control 常见字段
Cache-Control 常见字段 参考:https://blog.csdn.net/qq_41996454/article/details/108644436 Cache-Control 可以在请求头或者响应头中设置,并且可以组合使用多种指令 no-cache 和 no-store 用作控制缓存,被服务器通过响应头 Cache-Contro…...
Flink Checkpoint 中的通用增量Checkpoint
文章目录知识点状态Flink容错恢复周期性的 Checkpoint错误检测 Failure Detected重新调度 Re-scheduling状态恢复 State Recovery通用增量Checkpoint知识点 状态 算子需要记录之前数据处理的中间结果,把中间结果暂时缓存在算子的内部,这就是算子的状态…...

金三银四必看的软件测试面试题宝典,背完offer随便拿
怎么来设计测试方案根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。 被测试的特性:通过对需求规格说明书进行…...
企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis
一、立项管理 1、招标立项申请 功能点:招标类项目立项申请入口,用户可以保存为草稿,提交。 2、非招标立项申请 功能点:非招标立项申请入口、用户可以保存为草稿、提交。 3、采购立项列表 功能点:对草稿进行编辑&#x…...

扬帆优配“数字经济+实体经济”融合发展,行业增长空间大!
组织以为,数字经济已经逐步成为工业商场和资本商场的共同主题。 2月16日,国家发改委在《求是》杂志发表文章《努力推进经济完成质的有效提升和量的合理增加》。文章指出要加速开展数字经济,加速实施“东数西算”等重大工程,推进数…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...

手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...

对象回调初步研究
_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...