python学习之基础篇2 模块(持续更新)

Python有非常丰富和强大的标准库和第三方库。

关于库的使用需要注意:

1.命名的文件名不能和导入的库命相同(默认在当前目录下寻找库,假如你文件名叫“sys.py”,你导入sys标准库文件时,他会直接把当前目录下的你自己建的“sys.py”导进去)

2.默认找模块先在当前目录下寻找,没有的话再去全局环境变量找,当然环境变量是可以修改的,如果需要可以把你自己库的路径加到环境变量中,也可以直接把你自己的要使用的文件丢到环境变量已拥有的的路径中

3.大多数第三方库都放在路径下的site-packages目录下,标准库放在lib目录下

pyc文件是什么:

PyCodeObject和pyc文件:

随着Java等基于虚拟机的语言的兴起,我们又不能把语言纯粹的分成解释型和编译型这两种(java首先是通过编译器编译成字节码文件,然后运行时通过解释器给解释成机器文件,所以java可以说是一种先编译后解释的语言)

Python在运行的时候,其实跟java一样,在解释之前进行了一次编译 。

当python程序首次运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当python程序运行结束时,python解释器则将PyCodeObject写回到pyc文件中。

当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,检测源文件和pyc更新时间 ,如果源代码更新时间最新则重新编译,如果pyc更新时间最新则直接载入。如果没找到,执行上述过程。

所以pyc文件其实是PyCodeObject的一种持久化保存方法。

Pyc中存的预编译的字节码

举例两个标准库的使用:

#!/usr/bin/env python

# ?(?>?<?)? coding:utf-8 ?(?>?<?)?

# Anthor:ww

import sys,os

print("path--",sys.path)#打印环境变量
print("argv--",sys.argv)#打印相对路径   pycharm在调用的时候写的就是绝对路径,使用pycharm打印的是绝对路径

cmd_system_result = os.system("ls")#调用系统命令 返回执行成功与否 0成功  非0失败  不保存结果
print(cmd_system_result)

cmd_popen_result = os.popen("ls").read() #执行命令,返回结果   结果存到内存临时的地方,需要通过read取一下
print(cmd_popen_result)

os.mkdir("new_dir")#新建目录

原文地址:https://www.cnblogs.com/weiwei-dreams/p/11063607.html

时间: 2024-08-27 21:02:20

python学习之基础篇2 模块(持续更新)的相关文章

Python学习笔记基础篇——总览

Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列表.字典.主文件判断.对象 Python学习笔记——基础篇1[第三周]——set集合 Python学习笔记——基础篇2[第三周]——计数器.有序字典.元组.单(双)向队列.深浅拷贝.函数.装饰器 Python学习笔记——基础篇[第四周]——迭代器&生成器.装饰器.递归.算法.正则表达式 Python

Python学习笔记——基础篇【第六周】——模块

模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块. 如:os 是系统相关的模块:file是文件操作相关的模块 模块分为三种: 自定义模块 内置模块 开源模块 自定义模块 1.定义模块 情景一: 情景二: 情景三: 2.导入模块 Python之所以应用越来越广泛,在

Python学习笔记——基础篇【第五周】——正则表达式

1 递归问题import timedef digui(n,s,num):    num += 2    if num == 10:        print(s)        return s    # print(n)    # print(s)    #time.sleep(1)    n = n + s    s = s + n    digui(n,s,num) ret = digui(0,1,num=0)print(ret)-------------------- def a(n):

Python学习笔记——基础篇【第六周】——Subprocess模块

执行系统命令 可以执行shell命令的相关模块和函数有: os.system os.spawn* os.popen*          --废弃 popen2.*           --废弃 commands.*      --废弃,3.x中被移除 1 import commands 2 3 result = commands.getoutput('cmd') 4 result = commands.getstatus('cmd') 5 result = commands.getstatuso

Python学习笔记——基础篇【第六周】——hashlib模块

常用模块之hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 import md5 hash = md5.new() hash.update('admin') print hash.hexdigest() MD5-废弃 import sha hash = sha.new() hash.update('admin') print hash.hexdigest() sha-废

Python学习笔记——基础篇【第六周】——logging模块

常用模块之logging 用于便捷记录日志且线程安全的模块 import logging logging.basicConfig(filename='log.log', format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', level=10) logging.debug('debug') logging.info('info') loggi

Python学习笔记——基础篇【第六周】——PyYAML &amp; configparser模块

PyYAML模块 Python也可以很容易的处理ymal文档格式,只不过需要安装一个模块,参考文档:http://pyyaml.org/wiki/PyYAMLDocumentation 常用模块之ConfigParser模块 用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser. 来看一个好多软件的常见文档格式如下 [DEFAULT] ServerAliveInterval = 45 Compression = yes Compression

Python学习笔记——基础篇【第五周】——json &amp; pickle 模块

json & pickle 模块(序列化) 用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps.dump.loads.load pickle模块提供了四个功能:dumps.dump.loads.load dumps和dump区别: pickle.dump(info,f) #print(pickle.dumps(info)) #f.write(pick

Python学习笔记——基础篇【第五周】——os模块和sys模块

OS模块 提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级