循序渐进Python3(四) -- 初识模块

什么是模块?

模块,用一组代码实现了某个功能的代码集合。

类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。

如:os 是系统相关的模块;file是文件操作相关的模块

import module  #导入模块下的全部模块
from module.xx.xx import *  #导入模块下的全部模块
from module.xx.xx import xx  #导入某块下的指定模块
from module.xx.xx import xx as rename   #导入指定模块并给他设置别名

  1、os用于提供系统级别的操作

import os
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
os.curdir  返回当前目录: (‘.‘)
os.pardir  获取当前目录的父目录字符串名:(‘..‘)
os.makedirs(‘dirname1/dirname2‘)    可生成多层递归目录
os.removedirs(‘dirname1‘)    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir(‘dirname‘)    生成单级目录;相当于shell中mkdir dirname
os.rmdir(‘dirname‘)    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir(‘dirname‘)    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove()  删除一个文件
os.rename("oldname","newname")  重命名文件/目录
os.stat(‘path/filename‘)  获取文件/目录信息
os.sep    输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep    输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep    输出用于分割文件路径的字符串
os.name    输出字符串指示当前使用平台。win->‘nt‘; Linux->‘posix‘
os.system("bash command")  运行shell命令,直接显示
os.environ  获取系统环境变量
os.path.abspath(path)  返回path规范化的绝对路径
os.path.split(path)  将path分割成目录和文件名二元组返回
os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)  如果path是绝对路径,返回True
os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间

  

2、sys用于提供对解释器相关的操作

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0)
sys.version        获取Python解释程序的版本信息
sys.maxint         最大的Int值
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform       返回操作系统平台名称
sys.stdout.write(‘please:‘)   标准输出
时间: 2024-11-05 23:31:51

循序渐进Python3(四) -- 初识模块的相关文章

Python3之logging模块浅析

目录 Python3之logging模块浅析 简单用法 日志与控制台同时输出 一个同时输出到屏幕.文件的完成例子 日志文件截取 日志重复打印问题解决 问题分析 解决方案 1.使用不同的日志对象 2.及时清理(logger.handlers.clear) 3.使用前先判断是否有相同的handler对象 总结: Python3之logging模块浅析 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志

学生信息管理系统(四)——模块分析

学生信息管理系统已经敲完了,也进行了第一次验收,结果不是太理想.之前的总结也没有及时发表.现在重新复习一遍,把它发表. 从今天开始,我们就进入了代码分析阶段.现在我们就来分析一下模块中的几个函数. Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset 'executes SQL and returns Recordset Dim cnn As ADODB.Connection

python3使用csv模块读写csv文件

python3使用csv模块读写csv文件 读取csv文件: import csv #打开文件,用with打开可以不用去特意关闭file了,python3不支持file()打开文件,只能用open() with open("XXX.csv","r",encoding="utf-8") as csvfile: #读取csv文件,返回的是迭代类型 read = csv.reader(csvfile) for i in read: print(i) 存

Python3 内建模块 hashlib、itertools、HTMLParser、urllib

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). 举个例子,你写了一篇文章,内容是一个字符串'how to use python hashlib - by Michael',并附上这篇文章的摘要是'2d73d4f15c0db7f5ecb321b6a65e5d6d'.如果有人篡改了你的文章,并发表为'how to use pytho

Python3.4 asyncio模块简介

这个模块提供了在单个线程上使用协程,适用基于网络及其他资源,有关IO密集型的服务端及客户端程序. 模块细节如下: 适用于多系统可拆卸的事件循环(event loop)系统: 数据传输(transport)和协议抽象(类似于Twisted): 对TCP.UDP.SSL.子进程管道.延时调用(delayed calls)和其他一些系统特有的传输协议支持的实现: a Future class that mimics the one in the concurrent.futures module, b

Python3 内建模块 datetime/collections/base64/struct

datetime 我们先看如何获取当前日期和时间: >>> from datetime import datetime >>> now = datetime.now() # 获取当前datetime >>> print(now) 2015-05-18 16:28:07.198690 >>> print(type(now)) <class 'datetime.datetime'> 注意到datetime是模块,datetim

SignalR 循序渐进(四) Hub的生命周期以及IoC

有阵子没更新这个系列了,最近太忙了.本篇带来的是Hub的生命周期以及IoC. 首先,Hub的生命周期,我们用一个Demo来看看: public class TestHub : Hub { public TestHub() { Console.WriteLine(Guid.NewGuid().ToString()); } public void Hello() { } } static HubConnection hubConnection; static IHubProxy hubProxy;

python3.7 time模块

#!/usr/bin/env python __author__ = "lrtao2010" #python3.7 time模块 #time模块没有time.py文件,是内置到解释器中的模块 #三种时间表示方式 ''' 1.时间戳(timestamp): 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. 2.格式化的时间字符串:"2018-09-03 10:02:01" 3.元组(struct_time):struct_time元组

python3.7 random模块

#!/usr/bin/env python __author__ = "lrtao2010" #python3.7 random模块 import random #随机模块 # res0 = random.random() #从0~1中间随机产生一个小数点后16位的浮点数 # res1 = random.uniform(1,3) #从1~3中间随机产生一个小数点后16位的浮点数 # res2 = random.randint(1,3) #[1,3] # res3 = random.ra

python3.7 json模块

#!/usr/bin/env python __author__ = "lrtao2010" #python3.7 json模块 ''' 要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式, 比如XML,但更好的方法是序列化为JSON, 因为JSON表示出来就是一个字符串,可以被所有语言读取, 也可以方便地存储到磁盘或者通过网络传输. JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便. ''' ''' 对象(变量)从内存中变成可存储或传输的过