模块(module)

模块(module)

为了编写方便维护的代码,将功能不同的代码分组。

在Python中一个.py文件就可以称为一个模块。

即:

  • 包含相应功能的函数及变量,py则以’.py’为后缀名;
  • 模块可以为其他的程序引用,以使用该模块所对应的函数或者变量

使用模块的优点:

  • 提高代码可维护性

  • 提高代码的复用性

  • 可以导入很多功能的模块

    • 标准库模块
    • 第三方模块
    • 自定义模块
  • 避免变量名重复(作用域)

Python中导入模块的常用方式:

import 模块名称

import 模块名称 as 新名称   #以简化为目的

from 模块名称 import 函数名

区别:

  • import 模块名称 和 import 模块名称 as 新名称

    • 会导入整个模块
    • 如果我们需要使用某个函数,必须以’模块名称.函数名()'的形式来调用相应的函数。(这种方式更加有利于代码的可读性(推荐方法))
    • import 模块名称 as 新名称 ,重命名导入的模块,通常简洁方便使用。
  • from 模块名称 import 函数名

    • 只导入某一函数,而不是一整个模块
    • 可以直接函数名称去调用函数
    • 可能导致函数名冲突,不推荐使用

import …

import…as…

from…import 函数

注意:

import 语句的对应模块顺序(PEP)(程序最上方)

  • Python标准模块
  • 第三方
  • 自定义

自定义模块

OS模块

os模块是Python标准库中用于访问操作系统功能的模块

使用OS模块提供的接口,能够实现跨平台访问

最常见的操作:

  • 目录的操作
  • 判断

1.系统操作

  • os.sep : 用于查看系统路径的分隔符

    • Windows —> ‘\\’
    • ubuntu —> ‘/’
  • os.name :显示我们正在使用的平台

    • Windows —> ‘nt’
    • Linux/Unix —> ‘posix’
  • os.getenv() —> 读取环境变量 (environment)

  • os.getcwd() —> 获取当前路径

2.目录操作 — 增删改查(direction)

  • os.listdir : 返回指定目录下的所有文件和
os.listdir() #未指定路径,当前路径下
['.idea', 'data', 'day01.py', 'day02_字符串.py', 'day02_流程控制.py', 'day03.py', 'day04.py', 'day5_0722_文件操作.py', 'day5_0722模块.py', '__pycache__']
  • 目录的创建
    • os.mkdir(path) :创建目录,仅创建一级目录
    • os.makedirs(path) : 创建目录,创建多级目录
os.mkdir("os_test")

os.makedirs("main_file/sub_fiel")
  • 目录/文件删除
    • os.rmdir(path):删除空目录(一级)
    • os.removedirs(path):删除空目录(多级)
    • os.remove(path):删除文件
os.rmdir("os_test")   

os.remove("main_file/sub_file")

os.remove("main_file/新建文本文档.txt")
  • 更改路径/更改文件名称
    • os.chdir():change direction # 将当前工作目录改到指定的工作目录
    • os.rename(old_name,new_name)
os.getcwd()
os.chdir('..')  #两个点表示返回上一级目录
os.listdir('D:\\NEWS Por\\0722作业\\genggai')

os.rename('data.txt','data.md')

判断文件

  • os.path.exists(path) :判断文件或者目录是否存在,True/False
print(os.path.exists("day5_0722模块.py"))
#True
  • os.path.isfile(path):判断是否为文件
print(os.path.isfile('data'))
#False
  • os.path.isdir(path):判断是否为目录
print(os.path.isdir('data'))
#True

拓展:

  • os.path.dirname(path) :返回文件路径

  • os.path.basename(path):返回文件名称

  • os.path.getsize(name):返回文件大小

  • os.path.abspath(name):返回文件绝对路径

  • os.path.join(path,name):连接目录与文件名或目录

  • os.path.split(path):返回元组(目录,文件名)

>>> os.path.dirname("D:\\NEWS Por\\day01.py")
'D:\\NEWS Por'
>>> os.path.basename("D:\\NEWS Por\\day01.py")
'day01.py'
>>> os.path.getsize("day03.py")
2872
>>> os.path.abspath("day01.py")
'D:\\NEWS Por\\day01.py'
>>> os.path.join("../NEWS Por","day01.py")
'../NEWS Por\\day01.py'
>>> os.path.split("D:\\NEWS Por\\day01.py")
('D:\\NEWS Por', 'day01.py')
  • 查看文件的时间
    • os.path.getmtime(path):返回文件或者目录的最后修改时间 ,结果为秒数—>modify
    • os.path.getatime(path):返回文件或者目录的最后访问时间,结果为秒数
    • os.path.getctime(path):返回文件或者目录的创建时间,结果为秒数
import os
import time
print(os.path.getmtime("day01.py"))
timeArray = time.localtime(os.path.getmtime("day01.py"))
otherStyleTime = time.strftime("%Y-%m-%d %X", timeArray)
print(otherStyleTime)

1563323957.836487
2019-07-17 08:39:17
  • 获取文件和目录
    • os.walk(path):通过在目录树中游走输出在目录中的文件名
>>> import os
>>> paths = os.walk("..")
>>> for i in paths:
...     print(i)
...
('..', ['.idea', 'data', '__pycache__'], ['day01.py', 'day02_字符串.py', 'day02_流程控制.py', 'day03.py', 'day04.py', 'day5_0722_文件操作.py', 'day5_0722模块.py'])
('..\\.idea', ['inspectionProfiles'], ['misc.xml', 'modules.xml', 'NEWS Por.iml', 'workspace.xml'])
('..\\.idea\\inspectionProfiles', [], [])
('..\\data', [], ['GreenFlowerPorcelain.txt', 'test.txt', '城市学院.txt', '陈明明.txt', '青花瓷.txt'])
('..\\__pycache__', [], ['day5_0722模块.cpython-36.pyc'])
>>>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值