美文网首页
简单模块化

简单模块化

作者: 魔曦帝天 | 来源:发表于2019-09-25 19:20 被阅读0次
import sys,os
Base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
__file__表示当前文件
#Base_dir='/root/xiangmv/python-learn/cmdb'
sys.path.insert(0,Base_dir) #在搜索包名的路径添加当前包的路径
from plugins import base_info,Mem_info  #
cpu=base_info.Base()#实例化
mem=Mem_info.Memory(debug=True)
for obj in [cpu,mem]:
    info=obj.cmd_handle()
    print(info)
import os  #起手势
os.getcwd()   #获取当前目录
os.chdir("/etc/")  #切换脚本工作目录
os.mkdir("dirname")  #创建目录
os.mkdirs('dir1/dir2') #递归创建目录
os.listdir('dirname')  #列出制定目录的所有文件目录
import os
 
print( os.path.basename('/root/runoob.txt') )   # 返回文件名
print( os.path.dirname('/root/runoob.txt') )    # 返回目录路径
print( os.path.split('/root/runoob.txt') )      # 分割文件名与路径
print( os.path.join('root','test','runoob.txt') )  # 将目录和文件名合成一个路径



improt subprocess
def run_cmd(date):
     #getstatusoutput   执行正确,stat为0 ,result为结果
    stat,result=subprocess.getstatusoutput(date)  
    
    if not stat:
        return parser(result)

os.path.abspath:获取文件或目录的绝对路径

os.path.dirname(os.path.abspath(__file__))
os.path.abspath(__file__)返回的是.py文件的绝对路径

>>> os.path.abspath('hello.py')
'/Users/ethan/coding/python/hello.py'
>>> os.path.abspath('web')
'/Users/ethan/coding/python/web'
>>> os.path.abspath('.')                # 当前目录的绝对路径
'/Users/ethan/coding/python'

os.path.dirname:获取文件或文件夹的路径

>>> os.path.dirname('/Users/ethan/coding/python/hello.py')
'/Users/ethan/coding/python'
>>> os.path.dirname('/Users/ethan/coding/python/')
'/Users/ethan/coding/python'
>>> os.path.dirname('/Users/ethan/coding/python')
'/Users/ethan/coding'

os.path.basename:获取文件名或目录名

>>> os.path.basename('/Users/ethan/coding/python/hello.py')
'hello.py'
>>> os.path.basename('/Users/ethan/coding/python/')
''
>>> os.path.basename('/Users/ethan/coding/python')
'python'

os.path.split:分离目录与文件名
分离后为元组

>>> os.path.split('/Users/ethan/coding/python/hello.py')
('/Users/ethan/coding/python', 'hello.py')
>>> os.path.split('/Users/ethan/coding/python/')
('/Users/ethan/coding/python', '')
>>> os.path.split('/Users/ethan/coding/python')
('/Users/ethan/coding', 'python')

sys.argv
分别获取输入的参数值:

将命令行输入的值分开传入sys.argv这个列表
python a.py zhang    #命令行输入

a.py 内容
**************************************
import sys
a=sys.argv[0]    #a为  python
b=sys.argv[1]    #b为当前文件名   a.py
c=sys.argv[2]    #c为zhang 这个字符串

sys.path 搜索包的路径

os.walk()
os.walk 是遍历目录常用的模块,它返回一个包含 3 个元素的元祖:(dirpath, dirnames, filenames)。
dirpath 是以 string 字符串形式返回该目录下所有的绝对路径;dirnames 是以列表 list 形式返回每一个绝对路径下的文件夹名字;filesnames 是以列表 list 形式返回该路径下所有文件名字。

>>> for root, dirs, files in os.walk('/Users/ethan/coding'):
...     print root
...     print dirs
...     print files
...
/Users/ethan/coding
['python']
[]
/Users/ethan/coding/python
['web2']
['hello.py']
/Users/ethan/coding/python/web2
[]
[]

相关文章

  • 模块化

    1、模块化 为什么要使用模块化Javascript在发展初期就是为了实现简单的页面交互逻辑,故简单的引入几个脚本即...

  • 模块化开发

    1、模块化开发 1.什么是模块化开发? 简单的说模块就是实现特定功能的一组方法。 模块化开发其实就是让JavaSc...

  • 段子

    复杂的问题简单化 反复的问题模块化

  • part02_Android组件化配置

    一、模块化与组件化 模块化简单来说,模块化就是将一个程序按照其功能做拆分,分成相互独立的模块,以便于每个模块只包含...

  • 模块化-CommonJs、AMD、CMD、ES6

    在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发?模块化是指在解决某一个复杂问题或者一...

  • Android模块化之登录业务处理

    前面介绍过Android模块化的基本方法,能够保证每个模块单独运行。如果没看过,戳这里:Android模块化简单教...

  • 前端模块化的发展概述

    前端模块化简单梳理 本篇简介 关于前端模块化的一些知识,如CMD/AMD/Webpack等,之前都进行过专门学习,...

  • 简单模块化

    os.path.abspath:获取文件或目录的绝对路径 os.path.dirname:获取文件或文件夹的路径 ...

  • Android模块化之ButterKnife和Dagger2的使

    本篇是在之前的两篇文章基础上讲解的,如果没看过,走这里:Android模块化简单教程Android模块化之登录业务...

  • Node入门教程(6)第五章:node 模块化(上)模块化演进

    node 模块化 JS 诞生的时候,仅仅是为了实现网页表单的本地校验和简单的 dom 操作处理。所以并没有模块化的...

网友评论

      本文标题:简单模块化

      本文链接:https://www.haomeiwen.com/subject/nsckyctx.html