模块

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

类似于函数编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个

的功能来,可能需要多个函数才能完成(函数又不可以在不同的.py文件中),n个文件组成的代码集合就称为模块。

模块分为三种;

  1. 自定义模块
  2. 第三方模块
  3. 内置模块

3.

此处是从lib文件中找到.account程序再到account中调用login的功能。

此处把account模块命名为更简洁的bbb名字

当创建的模块在D盘时写的运行文件在C盘中时:用sys。path。append(“D:”)时表示把D盘的程序追加到c盘

,就可以调用d盘的程序了。

sys模块

用于提供对python的解释器相关的操作:

  1. sys.argv           命令行参数list,第一个元素是程序本身路径
  2. sys.exit(n)         退出程序,正常退出时exit(0)
  3. sys.version       获取python解释程序的版本信息
  4. sys.maxint          最大的int值
  5. sys.path            返回模块的搜索路径,初始化时用pythonpath环境变量的值
  6. sys.platform       返回操作系统平台名称
  7. sys.stdout.write("piease;")

OS 模块

用于提供系统级别的操作;

下面列出了一些在Python os模块中比较有用的部分。它们中的大多数都简单明了。

  1. os.sep 可以取代操作系统特定的路径分割符。
  2. os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。
  3. os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
  4. os.getenv()和os.putenv()函数分别用来读取和设置环境变量。
  5. os.listdir()返回指定目录下的所有文件和目录名。
  6. os.remove()函数用来删除一个文件。
  7. os.system()函数用来运行shell命令。
  8. os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用' ',Linux使用' '而Mac使用' '。
  9. os.path.split()函数返回一个路径的目录名和文件名。
  10. os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
  11. os.path.existe()函数用来检验给出的路径是否真地存在
  12. os和os.path模块
  13. os.listdir(dirname):列出dirname下的目录和文件
  14. os.getcwd():获得当前工作目录
  15. os.curdir:返回但前目录('.')
  16. os.chdir(dirname):改变工作目录到dirname
  17. os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
  18. os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
  19. os.path.exists(name):判断是否存在文件或目录name
  20. os.path.getsize(name):获得文件大小,如果name是目录返回0L
  21. os.path.abspath(name):获得绝对路径
  22. os.path.normpath(path):规范path字符串形式
  23. os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
  24. os.path.splitext():分离文件名与扩展名
  25. os.path.join(path,name):连接目录与文件名或目录
  26. >>> import os
    >>> str1 = "D;"
    >>> str2 = "home"
    >>> str3 = "index"
    >>> n = os.path.join(str1,str2,str3)
    >>> print(n)
    D;homeindex
    
  27. os.path.basename(path):返回文件名

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

 

_doc_#py文件的注释

_file_#当前文件路劲

_package_

     #当前文件None .

     #导入的其它文件:指定文件所在包,用  。分隔

_cached_

       #当前文件NONE

       #导入的其它文件

_name_ #如果是主文件,_name_ == "_main_"否则,等于模块名。

以上就是我们为大家总结的Python os模块的一些比较重要的内容。

hashlib模块(就对文档进行对应加密)

用于加密相关的操作,代替了md5模块和sha模块,主要提供SHAI,SHA224,SHA256,SHA384,SHA512,MD5算法。

hashlib加密
import hashlib
>>> hash = hashlib.md5(bytes("sadfwed.3gg", encoding="utf-8"))
>>> hash.update (bytes("123",encoding="utf-8"))
>>> print(hash.hexdigest())
d4d367189ec1e7fc55b0ba1f3f14aa03

加密登录小练习


import hashlib#调用hashlib模块
def md5(arg):
    ooo = hashlib.md5(bytes("sad:fi:k", encoding="utf-8"))
    
    ooo.update(bytes(arg, encoding="utf-8"))
    #对密码进行加密再对密码的对应关系进行算法加密
    return ooo.hexdigest()

def login(user,pwd):
    with open("db","r",encoding="utf-8") as f:#以读的方式用utf-8算法打开文件
        for line in f:
            u ,  p = line.strip().split("|")#在用户密码行内去掉空白在进行分割
            if u == user and p == md5(pwd):
                return True
def register(user,pwd):
    with open("db","a",encoding="utf-8") as f:#若用户注册则把u,p拼接到一起写进db文件里
        temp = user + "|" + md5(pwd)
        f.write(temp)

i = input("1,登录:2,注册")
if i == "2":
    user = input("用户名:")
    pwd = input("密码:")
    register(user,pwd)
elif i =="1":#elif表示另外一个如果
    user = input("用户名:")
    pwd = input("密码:")
    r = login(user,pwd)
    if r:
        print("登录成功")

    else:
        print("登录失败")

  


  

shutil模块

直接参考http://www.cnblogs.com/wupeiqi/articles/4963027.html

time&datetime模块

import time

import datetime

  1. print(time.clock())#返回处理器时间,python3一开始废弃
  2. print(time.process_time())#返回处理器时间
  3. print(time.time())#返回当前系统时间戳
  4. print(time.ctime())#输出Tue Jan 26 18;23;48 2017 ,当前系统时间
  5. print(time.ctime(time.time()+86400))#将时间戳转化为字符串格式
  6. print(time.ctime(time.time()-86400))#将时间戳转化为struct_time格式,但返回的本地时间
  7. print(time.ctime(time.mktime(time.localtime())))#与time.localtime()功能相反,将struct_time格式转化成时间戳格式

#time.sleep(4)#sleep

print(time.strftime("%y-%m-%d %H;%M;%S",time.gmtime()))#将struct_time格式转成指定的字符串格式

print(time.strftime("2016-01-28",%Y-%M-%D"))#将字符串格式转化成struct_time格式

日期模块

  1. import time

    str_to_date = datetime.datetime.strptime("21/11/06 16;30","%d%m/%y %H;%M"
    )#将字符串转化成日期格式 Traceback (most recent call last): File "<pyshell#19>", line 1, in <module> str_to_date = datetime.datetime.strptime("21/11/06 16;30","%d%m/%y %H;%M") File "C:UsersAdministratorAppDataLocalProgramsPythonPython36lib\_strptime.py", line 565, in _strptime_datetime tt, fraction = _strptime(data_string, format) File "C:UsersAdministratorAppDataLocalProgramsPythonPython36lib\_strptime.py", line 362, in _strptime (data_string, format)) ValueError: time data '21/11/06 16;30' does not match format '%d%m/%y %H;%M' >>>
>>> new_date = datetime.datetime.now() + datetime.timedelta(days=10)
>>> print(new_date)比现在加十天
new_date = datetime.datetime.now() + datetime.timedelta(days=-10)
>>> print(new_date)比现在减10天
new_date = datetime.datetime.now() + datetime.timedelta(hours=-10)
>>> print(new_date)比现在减十个小时
 new_date = datetime.datetime.now() + datetime.timedelta(seconds=120)
>>> print(new_date)#比现在加120s

json模块用于

用于将字典,列表,元组形式的字符串,转换成相应的字典,列表,元组

json.loads()将字符串转化成python基本数据类型

json.loads(s)

(python的基本类型)用于将字典,列表,元组形式的字符串,转换成相应的字典,列表,元组

json.dumps()将python基本数据类型转化成字符串

s = """{"dese":"invilad-citykey","status":1002}"""
此处用三个引号的原因如果
"{"dese":"invilad-citykey","status":1002}"不知道引号括的是谁,三个引号是区分括的是谁。此处元素要加双引号
import json result = json.loads(s) print(result,type(result)) {'dese': 'invilad-citykey', 'status': 1002} <class 'dict'>
转化成字典
i = "[11,22,33,44]"
import json
result = json.loads(i)
print(result,type(result))
[11, 22, 33, 44] <class 'list'>
转化成列表
import json
user_list = ["alex","eric","tomy"]
s = json.dumps(user_list)
print(s,type(s))
["alex", "eric", "tomy"] <class 'str'>
转化成字符串

模块安转的两种方法

requests第三方模块安转应用

1,安装

用软件管理工具安装pip3(python内部已下载)

pip3添加到环境变量

pip3 install requests

2,源码安装

  1. 下载代码:安装先下载
  2. 解压
  3. 进入目录
  4. 执行python文件中setup.py    install 进行安装

安装成功

调用模块 import requests

requests模块

发送http请求(用python模拟浏览网页)

requests.get("http://www.baidu.com")表示用re·····登录某个网站 

例如查询天气

import requests
response = requests.get("http://www.weather.com.cn/adat/sk/101010500.html")
response.encoding = "utf-8"#b把乱码用utf-8进行转化
result = response.text#text表示用文本输出
print(result)

  

 

原文地址:https://www.cnblogs.com/yzthc/p/7050691.html