python标准库OS模块详解 .pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

python标准库OS模块详解

python标准库OS模块简介

os就是“operatingsystem”的缩写,顾名思义,os模块提供的就是各种Python程序与操作系统进⾏交互的接⼝。通过使⽤os模

块,⼀⽅⾯可以⽅便地与操作系统进⾏交互,另⼀⽅⾯页可以极⼤增强代码的可移植性。如果该模块中相关功能出错,会抛出

OSError异常或其⼦类异常。

注意

如果是读写⽂件的话,建议使⽤内置函数open();

如果是路径相关的操作,建议使⽤os的⼦模块os.path;

如果要逐⾏读取多个⽂件,建议使⽤fileinput模块;

要创建临时⽂件或路径,建议使⽤tempfile模块;

要进⾏更⾼级的⽂件和路径操作则应当使⽤shutil模块。

当然,使⽤os模块可以写出操作系统⽆关的代码并不意味着os⽆法调⽤⼀些特定系统的扩展功能,但要切记⼀点:⼀旦这样

做就会极⼤损害代码的可移植性。

此外,导⼊os模块时还要⼩⼼⼀点,千万不要为了图调⽤省事⼉⽽将os模块解包导⼊,即不要使⽤fromosimport*来导⼊os

模块;否则os.open()将会覆盖内置函数open(),从⽽造成预料之外的错误。

2.常⽤功能

注意,os模块中⼤多数接受路径作为参数的函数也可以接受⽂件“描述符”作为参数。

⽂件描述符:filedescriptor,在Python⽂档中简记为fd,是⼀个与某个打开的⽂件对象绑定的整数,可以理解为

该⽂件在系统中的编号。

2.1

该属性宽泛地指明了当前Python运⾏所在的环境,实际上是导⼊的操作系统相关模块的名称。这个名称也决定了模块中哪些

功能是可⽤的,哪些是没有相应实现的。

⽬前有效名称为以下三个:posix,nt,java。

其中posix是PortableOperatingSystemInterfaceofUNIX(可移植操作系统接⼝)的缩写。Linux和MacOS均会返回该

值;nt全称应为“MicrosoftWindowsNT”,⼤体可以等同于Windows操作系统,因此Windows环境下会返回该值;java则是

Java虚拟机环境下的返回值。

因此在我的电脑(win10)上执⾏下述代码,返回值是nt:

importos

nt

⽽在WSL(WindowsSubsystemLinux,Windows下的Linux⼦系统)上的结果则是:

importos

posix

查看sys模块中的sys.platform属性可以得到关于运⾏平台更详细的信息,在此不再赘述

2.2os.environ

os.environ属性可以返回环境相关的信息,主要是各类环境变量。返回值是⼀个映射(类似字典类型),具体的值为第⼀次导

⼊os模块时的快照;其中的各个键值对,键是环境变量名,值则是环境变量对应的值。在第⼀次导⼊os模块之后,除⾮直接

修改os.environ的值,否则该属性的值不再发⽣变化。

⽐如其中键为“HOMEPATH”(Windows下,Linux下为“HOME”)的项,对应的值就是⽤户主⽬录的路径。Windows下,其

值为:

os.environ[HOMEPATH]

d:\\justdopython

Linux下,其值为:

os.environ[HOME]

/home/justdopython

2.3os.walk()

这个函数需要传⼊⼀个路径作为top参数,函数的作⽤是在以top为根节点的⽬录树中游⾛,对树中的每个⽬录⽣成⼀个由

(dirpath,dirnames,filenames)三项组成的三元组。

其中,dirpath是⼀个指⽰这个⽬录路径的字符串,dirnames是⼀个dirpath下⼦⽬录名(除去“.”和“..”)组成的列表,filenames

则是由dirpath下所有⾮⽬录的⽂件名组成的列表。要注意的是,这些名称并不包含所在路径本⾝,要获取dirpath下某个⽂件

或路径从top⽬录开始的完整路径,需要使⽤os.path.join(dirpath,name)。

注意最终返回的结果是⼀个迭代器,我们可以使⽤for语句逐个取得迭代器的每⼀项:

foriteminos.walk(.):

...print(item)

...

(.,[do],[go_go_go.txt])

(.\\do,[IAmDirectory,py

文档评论(0)

. + 关注
官方认证
内容提供者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档