python内置模块OS 实现SHELL端文件处理器

目录
  • OS 模块
  • 带path
    • 判断文件
    • 判断文件夹
    • 判断文件是否存在
    • 获取文件大小
    • 获取路径及文件
    • 获取绝对路径
    • 返回文件名
    • 获取文件路径
    • 路径拼接
  • 不带path
    • 获取平台
    • 获取所有文件
    • 当前工作路径
    • 目录操作
    • 重命名文件
    • 文件属性
    • 修改权限杀死进程
    • 打通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处理器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程

    一.源码安装 首先安装开发工具包 yum groupinstall -y "Development tools" 安装依赖软件包 yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel wget 上Python 官网 找源码包的下载地址 wget https://www.python.org/ftp/python/3.7.6/Pyth

  • CentOS7中使用shell脚本安装python3.8环境(推荐)

    一键执行 虚拟机一键安装python3.8环境,只需将网络适配器改为nat模式即可(确保主机能够上网),随后将tar包放入/root目录下,执行脚本. 脚本首先将系统原有的python2.7的环境卸载,然后自动将网卡获取地址的方式改为dhcp,检查网络连通性,改国内yum源,然后安装python3.8环境,最后安装python3.8,安装完成后,提示友好输出. 直接下载分享的tar包即可,其中有python3.8版本的tar包和脚本文件. 链接:脚本及其tar包 提取码:4b6w 脚本内容: #

  • 基于Python Shell获取hostname和fqdn释疑

    一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Linux系统内设置hostname很简单,如: $ hostname florian 如果要设置fqdn的话,需要对/etc/hosts进行配置. $ cat /etc/hosts 127.0.0.1 localhost 192.168.1.1 florian.test.com florian /et

  • CentOS 6.x系统升级Python到2.7版本的Shell脚本分享

    在CentOS 6.x上,默认自带的Python是2.6.x版本,这个版本的Python有点老了,比如"collections.OrderedDict"就是2.7才有的,而且著名的Python Web框架Django的新版(如:1.7)就不支持Python2.6,最低要求是2.7了.而一些公司或者共有云上的服务器就是使用CentOS6.x,所以也就有了升级Python到2.7的需求. 升级Python之前,需要先安装一些工具和软件库,否则后面安装Python或pip时可能出错. Pyt

  • python内置模块OS 实现SHELL端文件处理器

    目录 OS 模块 带path 判断文件 判断文件夹 判断文件是否存在 获取文件大小 获取路径及文件 获取绝对路径 返回文件名 获取文件路径 路径拼接 不带path 获取平台 获取所有文件 当前工作路径 目录操作 重命名文件 文件属性 修改权限杀死进程 打通shell OS 模块 在讲解包模块时我们提到通过 sys 模块进行查看全局包路径查看于注册,今天我们尝试了解下OS模块,这个模块主要作用就是打通程序于系统之间的通信. 通过 help('modules') 我们能够发现 OS 是作为pytho

  • 解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题

    1. os.listdir()概述 os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表. 例如: dir ='F:/Home_01/img'#当前目录 filenames=os.listdir(dir)#filenames存储dir下的所有文件名. 注意:os.listdir()返回的文件名不一定是顺序的,也就是说结果是不固定的,如下图,则filenames[0]有可能为'22.jpg',而不是我们所希望的'11.jpg'. 解决办法: filenames=os.l

  • 解决python中os.system调用exe文件的问题

    前一段时间导师叫我写一个批处理的小程序,就是循环修改辐射传输模型软件MODTRAN的输入参数,然后运行MODTRAN软件进行计算,输出 需要的结果.我这里用的是python写的小程序,那就需要考虑用python调用MODTRAN的exe文件运行,查了一些资料可以用os.system命令来 执行exe文件,说起来直接调用就行了嘛,对吧,但是说起来简单,还是会遇到一些莫名其妙的问题,下面我来说说我遇到的问题. 先给大家介绍一下MODTRAN这个软件运行的一个过程. 这个软件里的东西如下图所示: 简单

  • 如何在python中用os模块实现批量移动文件

    本文介绍一下利用python批量把一个文件夹(及其子文件夹)下面的特定类型的文件移动到另一个文件夹下 通过python操作系统目录及其文件,需要用到os包,本次具体用到如下方法 os.walk(), 这个方法可以遍历一个文件夹及其子文件(子子文件夹等) os.rename(),这个方法用于命名文件或目录(因为是操作一个文件的绝对路径,所以其实相当于对文件进行剪切操作) 另外也可以借助 shutil库对文件进行移动或复制操作 下面是示例代码 def run_main(source_dir, tar

  • python中os操作文件及文件路径实例汇总

    本文实例讲述了python中os操作文件及文件路径的方法.分享给大家供大家参考.具体分析如下: python获取文件上一级目录:取文件所在目录的上一级目录 复制代码 代码如下: os.path.abspath(os.path.join(os.path.dirname('settings.py'),os.path.pardir)) os.path.pardir是父目录,os.path.abspath是绝对路径 举例具体看一下输出: 复制代码 代码如下: print os.path.dirname(

  • Python 使用os.remove删除文件夹时报错的解决方法

    os.remove不能用来删除文件夹,否则拒绝访问. # -*- coding:utf-8 -*-import osif __name__ == "__main__": os.remove('D:\\test') 运行结果: 删除空目录: # -*- coding:utf-8 -*-import osif __name__ == "__main__": os.rmdir('D:\\test') 如果目录不为空会报错,如下: 删除目录(不论目录是否为空): # -*-

  • python使用os.listdir和os.walk获得文件的路径的方法

    本文介绍了python使用os.listdir和os.walk获得文件的路径的方法,分享给大家.具体如下: os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表.这个列表以字母顺序. 它不包括 '.' 和'..' 即使它在文件夹中. os.walk() 方法用于通过在目录树种游走输出在目录中的文件名,向上或者向下. 情况1:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir 在我们的桌面上有一个file目录(文件夹),里面有三个文件 file(d

  • python利用os模块编写文件复制功能——copy()函数用法

    我就废话不多说了,大家还是直接看代码吧~ #文件复制 import os src_path=r'E:\Pycharm\python100题\代码' target_path=r'E:\Pycharm\python100题\123' #封装成函数 def copy_function(src,target): if os.path.isdir(src) and os.path.isdir(target): filelist=os.listdir(src) for file in filelist: p

  • 详解python os.path.exists判断文件或文件夹是否存在

    os即operating system(操作系统),Python 的 os 模块封装了常见的文件和目录操作. os.path模块主要用于文件的属性获取,exists是"存在"的意思,所以顾名思义,os.path.exists()就是判断括号里的文件是否存在的意思,括号内的可以是文件路径. 举个栗子: import os #判断文件夹是否存在 dir = os.path.exists('C:\\Users\\Desktop') print('dir:', dir) #判断文件是否存在 f

  • Python使用os模块实现更高效地读写文件

    目录 使用 os.open 打开文件 使用 os.read 读取文件 使用 os.write 写入文件 使用 os.open 打开文件 无论是读文件还是写文件,都要先打开文件.说到打开文件,估计首先想到的就是内置函数 open(即 io.open),那么它和 os.open 有什么关系呢? 内置函数 open 实际上是对 os.open 的封装,在 os.open 基础上增加了相关访问方法.因此为了操作方便,应该调用内置函数 open 进行文件操作,但如果对效率要求较高的话,则可以考虑使用 os

随机推荐