python中os模块在windows下的使用
今天学习了一下Python的os模块,主要是针对文件夹和文件路径的一系列操作。
与Python内置函数相比这里这里的函数功能更多样化,功能也更强大。但是学习过程中我发现很多函数都是只适用于unix系统,可能因为它是开源系统,涉及权限的api都是开放的缘故吧。但也正是如此,当我们再Windows上学习Python时,本来这个板块就难以理解,还具有不可操作性。学起来感觉很受打击。
所以这里把Windows上能用,且适用的函数记录下来,以便于以后复习:
1,os.lseek(fd,pos,how) 方法用于设置文件描述符 fd 当前位置为 pos, how 方式修改。(与内置函数类似但是多了一个文件描述符,pos:0代表开头,1代表当前,2代表结尾,how用一个int型表示方式。例10表示从pos往后数10个字节的位置。)
2.os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.' 和'..' 即使它在文件夹中。(使用方法os.listdir(path)在Linux中dir或者ls命令也是相同的效果)
3.os.lstat() 方法用于类似 stat() 返回文件的信息,但是没有符号链接。在某些平台上,这是fstat的别名,例如 Windows。
4,os.fstat() 方法用于返回文件描述符fd的状态,类似 stat()。
Unix,Windows上可用。
fstat 方法返回的结构:
st_dev: 设备信息
st_ino: 文件的i-node值
st_mode: 文件信息的掩码,包含了文件的权限信息,文件的类型信息(是普通文件还是管道文件,或者是其他的文件类型)
st_nlink: 硬连接数
st_uid: 用户ID
st_gid: 用户组 ID
st_rdev: 设备 ID (如果指定文件)
st_size: 文件大小,以byte为单位
st_blksize: 系统 I/O 块大小
st_blocks: 文件的是由多少个 512 byte 的块构成的
st_atime: 文件最近的访问时间
st_mtime: 文件最近的修改时间
st_ctime: 文件状态信息的修改时间(不是文件内容的修改时间)
(以上两个的使用方法相同,os.fstat(fd) ,fd表示文件描述符 且返回内型也相同都是文件信息file=os.fstat(fd) 然后将其打印出来print(file.st_uid))
5,
os.mkdir() 方法用于以数字权限模式创建目录。默认的模式为 0777 (八进制)。
语法
mkdir()方法语法格式如下:
os.mkdir(path[, mode])
参数
path -- 要创建的目录
mode -- 要为目录设置的权限数字模式
(mkdir就是linux中建立文件夹的命令)
6,os.getcwd() 方法用于返回当前工作目录。
7,os.getcwdu() 方法用于返回一个当前工作目录的Unicode对象。
8,os.fsync() 方法强制将文件描述符为fd的文件写入硬盘(个人觉得这是一个很好的函数就相当与保存键Ctrl +s。使用方法为os.fsync())
9,os.chdir() 方法用于改变当前工作目录到指定的路径。(os.chdir(path) 将当前程序的文件直接换为path,这样就省去了要大量使用的绝对路径的必要。)
10,os.fchdir() 方法通过文件描述符改变当前工作目录。(os.fchdir(fd)这个函数与上面的函数主要区别是通过文件描述符改变。主要是当打开了多个文件时可能有会用到)
11,
os.open() 方法用于打开一个文件,并且设置需要的打开选项,模式参数mode参数是可选的,默认为 0777。
语法
open()方法语法格式如下:
os.open(file, flags[, mode]);
参数
file -- 要打开的文件
flags -- 该参数可以是以下选项,多个使用 "|" 隔开:
- os.O_RDONLY: 以只读的方式打开
- os.O_WRONLY: 以只写的方式打开
- os.O_RDWR : 以读写的方式打开
- os.O_NONBLOCK: 打开时不阻塞
- os.O_APPEND: 以追加的方式打开
- os.O_CREAT: 创建并打开一个新文件
- os.O_TRUNC: 打开一个文件并截断它的长度为零(必须有写权限)
- os.O_EXCL: 如果指定的文件存在,返回错误
- os.O_SHLOCK: 自动获取共享锁
- os.O_EXLOCK: 自动获取独立锁
- os.O_DIRECT: 消除或减少缓存效果
- os.O_FSYNC : 同步写入
- os.O_NOFOLLOW: 不追踪软链接
12,os.read() 方法用于从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。(os.read(fd,n)
13,os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。(os.remove(path))
14,os.rename() 方法用于命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。 os.rename(origalname,newname)
15,
os.rmdir() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError
16,
os.write() 方法用于写入字符串到文件描述符 fd 中. 返回实际写入的字符串长度。
在Unix中有效。(本来以为是很有用的但是只能在unix中有效,但是os.write(fd,b'str'))及输入二进制的时候不会报错,但是实际上是不能输出的
python中os模块在windows下的使用的更多相关文章
- python中os模块中文帮助
python中os模块中文帮助 python中os模块中文帮助文档文章分类:Python编程 python中os模块中文帮助文档 翻译者:butalnd 翻译于2010.1.7——2010.1.8 ...
- python使用wmi模块获取windows下的系统信息监控系统-乾颐堂
Python用WMI模块获取Windows系统的硬件信息:硬盘分区.使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息. 本文实例讲述了python使用wmi模块获取w ...
- python中os模块
os 模块 操作系统模块,该模块主要处理与操作系统相关的操作 最常用是文件操作:打开.读取 import os os.getcwd() #获取当前执行文件夹路径 os.chdir('dirnam ...
- python中OS模块操作文件和目录
在python中执行和操作目录和文件的操作是通过内置的python OS模块封装的函数实现的. 首先导入模块,并查看操作系统的类型: >>> import os os.name # ...
- 小白进阶—python中os模块用法
一.os模块概述 python中的os 模块包含普遍的操作系统功能,这个模块不受平台限制,即windows和linux上都适用. 二.常用方法 1.os.name 返回正在使用的平台.如果是windo ...
- 19.python中os模块的常见用法
常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt', 而对于Linux/Unix用户,它是'posix'. os. ...
- python中os模块的常用方法
1.os模块:os模块在python中包含普遍的操作系统功能,下面列出了一些在os模块中比较有用的部分. os.sep可以取代操作系统特定的路径分隔符.windows下为 “\\” os.name字符 ...
- Python中os模块使用方法
os模块提供了对系统环境.文件.目录等操作系统级的接口函数.本文主要描述os模块和os.path模块常用函数以及常用实例. os模块函数 os.getcwd() 获取当前工作的目录. os.listd ...
- python中os模块简介
一.什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件.目录打交道,所以离不了 ...
随机推荐
- 通过Charles获取看书神器API
Charles Charles是一个可以做HTTP代理/ HTTP监视器/反向代理的软件,使开发人员能够查看其机器和Internet之间的所有HTTP和SSL / HTTPS流量.包括请求,响应和HT ...
- [Offer收割] 编程练习赛63
题目1 : 命名 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 有两个公司想要合并,第一个公司的名字是一个字符串S,第二个公司的名字是一个字符串T. 合并后的新公司是这样 ...
- kubernetes版本融合解决方案
kubernetes版本融合背景 在kubernetes 1.6版本的基础上进行了深度的定制.而且该版本已经相当稳定.但是随着kubernetes版本迭代,后期使用的如service mesh/kub ...
- pythong+selenium自动创建随笔
这里是发帖区域,赶紧写下你的思绪
- C# 启动外部进程
C# 启动外部进程: var processInfo = new ProcessStartInfo(fullName); processInfo.UseShellExecute = false; pr ...
- ios高级开发之多线程(一)
1.概念: 多线程(multithreading)到底是什么呢,它是指在软件或者硬件上实现多个线程并发执行的技术.具有多线程能力的计算机因有硬件的支持,而能够在同一时间执行多个线程,进而提升整体处理性 ...
- Vue-admin工作整理(九): 状态管理Vuex-state和getters
前提:通过项目结构个人设置创建的项目 store文件下actions.js.mutations.js.state.js都是根级别的状态管理,引用入口是通过index.js来实现,整个Vuex处理逻辑为 ...
- UVALive - 3942 (字典树)
递推:$d(i) $表示从第$i$个字符开始到末尾的字符串(即后缀S[i...n])的分解方案数,则$d(i) = \sum {d(i + len(x))} $,其中字符串$x$代表S[i...n]的 ...
- highcharts数据标签显示在柱状图里面解决办法
1.现象:当各项占比相同时,数据显示在柱状图里面 2.解决方法: 3.效果
- OpenGL.Tutorial15_Lightmaps
ZC:撤销 & 重做 — Blender Manual.html(https://docs.blender.org/manual/zh-hans/dev/interface/undo_redo ...