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

news/2024/7/19 9:17:09 标签: python, pycharm, 爬虫

Python OS 文件/目录方法

6、Python os.chroot() 方法

Python File(文件) 方法 Python OS 文件/目录方法

概述
os.chroot() 方法用于更改当前进程的根目录为指定的目录,使用该函数需要管理员权限。

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

os.chroot(path);

参数
path – 要设置为根目录的目录。

返回值
该方法没有返回值。

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 设置根目录为 /tmp

os.chroot("/tmp")

print "修改根目录成功!!"

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

修改根目录成功!!

7、Python os.close() 方法

Python File(文件) 方法 Python OS 文件/目录方法

概述
os.close() 方法用于关闭指定的文件描述符 fd。

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

os.close(fd);

参数
fd – 文件描述符。

返回值
该方法没有返回值。

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

#!/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")

# 关闭文件
os.close( fd )

print "关闭文件成功!!"

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

关闭文件成功!!

8、Python os.closerange() 方法

Python File(文件) 方法 Python OS 文件/目录方法

概述
os.closerange() 方法用于关闭所有文件描述符 fd,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略。

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

os.closerange(fd_low, fd_high);

参数
fd_low – 最小文件描述符

fd_high – 最大文件描述符

该方法类似于:

for fd in xrange(fd_low, fd_high):
    try:
        os.close(fd)
    except OSError:
        pass

返回值
该方法没有返回值。

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

#!/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")

# 关闭文件
os.closerange( fd, fd)

print "关闭文件成功!!"

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

关闭文件成功!!

9、Python os.dup() 方法

Python File(文件) 方法 Python OS 文件/目录方法

概述
os.dup() 方法用于复制文件描述符 fd。

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

os.dup(fd);

参数
fd – 文件描述符

返回值
返回复制的文件描述符。

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

# 复制文件描述符
d_fd = os.dup( fd )

# 使用复制的文件描述符写入文件
os.write(d_fd, "This is test")

# 关闭文件
os.closerange( fd, d_fd)

print "关闭所有文件成功!!"

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

关闭所有文件成功!!

10、Python os.dup2() 方法

Python File(文件) 方法 Python OS 文件/目录方法

概述
os.dup2() 方法用于将一个文件描述符 fd 复制到另一个 fd2。

Unix, Windows 上可用。

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

os.dup2(fd, fd2);

参数
fd – 要被复制的文件描述符

fd2 – 复制的文件描述符

返回值
没有返回值。

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

#!/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")

# 文件描述符为 1000
fd2 = 1000
os.dup2(fd, fd2);

# 在新的文件描述符上插入数据
os.lseek(fd2, 0, 0)
str = os.read(fd2, 100)
print "读取的字符串是 : ", str

# 关闭文件
os.close( fd )

print "关闭文件成功!!"

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

读取的字符串是 :  This is test
关闭文件成功!!

11、Python os.fchdir() 方法

Python File(文件) 方法 Python OS 文件/目录方法

概述
os.fchdir() 方法通过文件描述符改变当前工作目录。

Unix, Windows 上可用。

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

os.fchdir(fd);

参数
fd – 文件描述符

返回值
该方法没有返回值。

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

#!/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

12、Python os.fchmod() 方法

Python File(文件) 方法 Python OS 文件/目录方法

概述
os.fchmod() 方法用于改变一个文件的访问权限,该文件由参数fd指定,参数mode是Unix下的文件访问权限。

Unix上可用。

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

os.fchmod(fd, mode);
参数
fd – 文件描述符
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:对于其他组执行的权限

返回值
该方法没有返回值。

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys, stat

# 打开文件 "/tmp/foo.txt"
fd = os.open( "/tmp", os.O_RDONLY )

# 设置文件可通过组执行

os.fchmod( fd, stat.S_IXGRP)

# 设置文件可被其他用户写入
os.fchmod(fd, stat.S_IWOTH)

print "修改权限成功!!"

# 关闭文件
os.close( fd )

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

修改权限成功!!

13、Python os.fchown() 方法

Python File(文件) 方法 Python OS 文件/目录方法

概述
os.fchown() 方法用于修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符fd指定。

Unix上可用。

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

os.fchown(fd, uid, gid)

参数
fd – 文件描述符

uid – 文件所有者的用户id

gid – 文件所有者的用户组id

返回值
该方法没有返回值。

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys, stat

# 打开文件 "/tmp/foo.txt"
fd = os.open( "/tmp", os.O_RDONLY )

# 设置文件的用户 id 为 100
os.fchown( fd, 100, -1)

# 设置文件的用户组 id 为 100
os.fchown( fd, -1, 50)


print "修改权限成功!!"

# 关闭文件
os.close( fd )

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

修改权限成功!!

14、Python os.fdatasync() 方法

Python File(文件) 方法 Python OS 文件/目录方法

概述
os.fdatasync() 方法用于强制将文件写入磁盘,该文件由文件描述符fd指定,但是不强制更新文件的状态信息。如果你需要刷新缓冲区可以使用该方法。

Unix上可用。

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

os.fdatasync(fd);

参数
fd – 文件描述符

返回值
该方法没有返回值。

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 打开文件 "/tmp/foo.txt"
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

# 写入字符串
os.write(fd, "This is test")

# 使用 fdatasync() 方法
os.fdatasync(fd)

# 读取文件
os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print "读取的字符是 : ", str

# 关闭文件
os.close( fd )

print "关闭文件成功!!".

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

读取的字符是 :  This is test
关闭文件成功!!

15、Python os.fdopen() 方法

Python File(文件) 方法 Python OS 文件/目录方法

概述
os.fdopen() 方法用于通过文件描述符 fd 创建一个文件对象,并返回这个文件对象。

Unix, Windows上可用。

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

os.fdopen(fd, [, mode[, bufsize]]);

参数
fd – 打开的文件的描述符,在Unix下,描述符是一个小整数。

mode – 可选,和bufsize参数和Python内建的open函数一样,mode参数可以指定『r,w,a,r+,w+,a+,b』等,表示文件的是只读的还是可以读写的,以及打开文件是以二进制还是文本形式打开。这些参数和C语言中的<stdio.h>中fopen函数中指定的mode参数类似。

bufsize – 可选,指定返回的文件对象是否带缓冲:bufsize=0,表示没有带缓冲;bufsize=1,表示该文件对象是行缓冲的;bufsize=正数,表示使用一个指定大小的缓冲冲,单位为byte,但是这个大小不是精确的;bufsize=负数,表示使用一个系统默认大小的缓冲,对于tty字元设备一般是行缓冲,而对于其他文件则一般是全缓冲。如果这个参数没有制定,则使用系统默认的缓冲设定。

返回值
通过文件描述符返回的文件对象。

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os, sys

# 打开文件
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

# 获取以上文件的对象
fo = os.fdopen(fd, "w+")

# 获取当前文章
print "Current I/O pointer position :%d" % fo.tell()

# 写入字符串
fo.write( "Python is a great language.\nYeah its great!!\n");

# 读取内容
os.lseek(fd, 0, 0)
str = os.read(fd, 100)
print "Read String is : ", str

# 获取当前位置
print "Current I/O pointer position :%d" % fo.tell()

# 关闭文件
os.close( fd )

print "关闭文件成功!!"

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

Current I/O pointer position :0
Read String is :  This is testPython is a great language.
Yeah its great!!

Current I/O pointer position :45
关闭文件成功!!

http://www.niftyadmin.cn/n/73067.html

相关文章

WMS系统解决方案,数据从“人工采集”转为“自动采集”

今年以来&#xff0c;新冠疫情危机促使国内企业重新审视自我发展&#xff0c;加速了行业转型的步伐。很多制造企业放慢了规模扩张的脚步&#xff0c;应需而变&#xff0c;从规模速度型向质量效率型转型升级。纵观市场现状&#xff0c;很多制造企业面临产能过剩、成本上升、库存…

k8s之容器存储接口(CSI)ceph-csi-rbd部署

TOC CSI简介 容器存储接口&#xff08;Container Storage Interface&#xff09;&#xff0c;简称 CSI&#xff0c;CSI 试图建立一个行业标准接口的规范&#xff0c;借助 CSI 容器编排系统&#xff08;CO&#xff09;可以将任意存储系统暴露给自己的容器工作负载。 csi 卷类…

信息安全法规标准

信息安全法规标准信息安全法规政策我国的多级立法体系结构网络安全法其他法规政策信息安全标准国际信息安全标准体系框架信息安全法规政策 我国的多级立法体系结构 全国人大及其委员会—法律国务院—行政法规地方人大及其常委会—地方性法规地方人民政府—地方政府规章重要法…

技术生态异军突起,昇思MindSpore进入AI框架第一梯队

ChatGPT掀起的新一轮人工智能狂欢下&#xff0c;隐藏在背后的“大模型”正进入越来越多开发者的视野。 诚如几年前开始流行的一种说法&#xff1a;数据是燃料、模型是引擎、算力是加速器。ChatGPT的出现&#xff0c;恰如其分地诠释了数据、模型和算力的“化学反应”。而在其中…

git 按需下载仓库某个文件夹

git 按需下载仓库某个文件夹 应用场景 在 github 有一个很大的仓库&#xff0c;但是自己真正使用的只有某几个文件夹&#xff0c;那么如何只下载这几个文件夹呢&#xff1f; 这里就要使用 git 的 sparse-checkout 功能 下面主要介绍三种情况 本地没有此仓库代码本地已有此…

深入浅出带你学习无参RCE

前言 无参RCE,顾名思义就是当我们不能传入参数的情况下进行命令执行&#xff0c;因为一般情况下命令执行必须是要含有参数的&#xff0c;本文会就着无参RCE问题带大家学习CTF中常见的无参RCE方式及用法&#xff0c;下面我们展开文章来讲解一下。 基础知识 首先我们要了解&am…

计算机网络(1)利用主机块进行子网划分

本博客将利用主机块来解决子网划分的相关问题&#xff0c;利用主机块来做还是相对比较简单的&#xff0c;方便理解&#xff0c;也适合一些计算机网络的初学者。什么是主机块&#xff1a;1&#xff0c;2&#xff0c;4&#xff0c;8&#xff0c;16&#xff0c;32&#xff0c;64&a…

《精通Spring4.x 企业应用开发实战》第16章 任务调度和异步执行器

目录标题前言一、任务调度概述1.任务调度类型2.任务调度本质3.任务调度解决方案二、Quartz1.Quartz快速进阶2.Spring中使用Quartz三、在Spring 中使用 JDK Timer四、Spring 对 Java 5.0 Executor 的支持五、实际应用中的任务调度1.如何产生任务1. 在业务流程中产生2. 由扫描任务…