python内置模块OS 实现SHELL端文件处理器
作者:zxhtom
这篇文章主要介绍了python内置模块OS实现SHELL端文件处理器,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
OS 模块
- 在讲解包模块时我们提到通过
sys
模块进行查看全局包路径查看于注册,今天我们尝试了解下OS模块,这个模块主要作用就是打通程序于系统之间的通信。 - 通过
help('modules')
我们能够发现OS
是作为python的内置模块出现的。
带path
判断文件
import os print(os.path.isfile('demo.txt'))
- 如果是文件则返回
True
否则返回False
。
判断文件夹
import os print(os.path.isdir('../os'))
- 其中参数我们传递一个路径,如果是文件夹返回
True
否则返回False
。
判断文件是否存在
- 这个应该是我们经常在脚本中使用的操作,存在我们则使用不存在则需要创建文件填充默认内容。
import os print(os.path.exists('ttttt.txt'))
- 同样如果存在则返回
True
否则返回False
。
获取文件大小
- 我们经常在服务器上通过
ls -al
查看文件信息,其中就包括文件大小这个属性,作为python
内置的模块肯定也少不了相关的属性获取功能。
import os print(os.path.getsize('demo.txt'))
获取路径及文件
- 之前在操作 Java 时经常需要获取文件所在目录,当时都是通过Java对象属性获取的,而 Python 中自动帮我们处理了。
获取绝对路径
- 不知道你有没有注意到上面我们获取脚本所在目录时通过
../os
等方式,包括获取路径及文件章节中我们手动敲出来文件的完整路径,实际上通过python自带了。
import os print(os.path.abspath('practice.py'))
返回文件名
import os print(os.path.basename('practice.py'))
获取文件路径
- 仅限我们传入了全路径的文件
dirname
才起作用,这个感觉有点鸡肋
路径拼接
- 我们经常会出现路径地址的拼接。windows , linux 文件分隔符不一样,Java 中给我们提供了一个获取分隔符的变量,但是python 直接忽略掉分隔符了,直接给我们提供一个拼接的方法。
import os print(os.path.join('parent','child'))
不带path
获取平台
- 有的时候我们需要根据不同平台来执行不同的操纵,这个时候就需要获取到平台信息了。
import os print(os.name)
获取所有文件
- 既然是模块肯定少不了我们常用的功能,之前提到过了我们经常在服务器上执行
ls -al
.
import os print(os.listdir)
当前工作路径
- 很多时候我们不回直接在脚本路径执行脚本,往往都是通过绝对路径或者相对路径来执行脚本,有的时候脚本会依赖执行路径上的某些文件,所以获取执行脚本路径至关重要。
目录操作
- 关于文件目录新建删除相信也很重要吧。下面我们来看看如何操作。
import os os.mkdir('test') print(os.getcwd()+'工作下的文件列表'+os.listdir()) os.rmdir('test')
重命名文件
import os os.rename(old,new)
文件属性
- 我们能够看到打印了很多属性。
属性 | 作用 |
---|---|
st_mode | 权限模式 |
st_ino | 节点号 |
st_dev | 驻留的设备 |
st_nlink | 节点连接数 |
st_uid | 拥有者用户 |
st_gid | 所属组ID |
st_size | 文件大小 |
st_atime | 上次访问时间 |
st_mtime | 最后一次修改时间 |
st_ctime | 操作系统报告的ctime |
修改权限杀死进程
os.chmod(file) os.get_terminal_size() os.kill(10884,signal.SIGKILL)
打通shell
- 作为一个shell爱好者,我还是很喜欢使用shell 来实现的,尤其是在做系统初始化的时候这个时候没有python ,而shell 是linux 系统自带的,所以shell 脚本的时候还是很有必要的,我个人也是shell+python 相互辅佐的存在。我们知道shell 中直接
python xxx.py
。 但是python 如何执行shell 呢?
import os name=os.system('ls -al')
- 上面我们提到获取平台信息
os.name
,我们可以根据这个命令来通过os.system('cmd')
指定不同系统的cmd 命令。
到此这篇关于python内置模块OS 实现SHELL端文件处理器的文章就介绍到这了,更多相关python SHELL处理器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!