Python学习——模块的基本知识

http://www.cnblogs.com/alex3714/articles/5161349.html

# 定义
# 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就
# 是.py结尾的python文件(文件名:test.py,对应的模块名:test)
# 包:用来从逻辑上组织模块的,本质就一个目录(必须带有一个_init.py文件)




# 2.导入方法
# import module name
# import moduleI name,module2 name
# from module alex import*-
# from modulealex import ml,m2,m3
# from module_alex import logger as logger_alex 如果重复的话,可以用这个
#
# 特别需要注意的几个:
# sys.path 现在Python会读的几个目录名。
# os.path.dirname( ) 获取当前的目录名
# os.path.abspath(__file__) 这个是绝对目录,里面的__file__是当前文件的意思
# . 这个就是当前目录和linux一样的。
#
#
# 3.import本质(路径搜索和搜索路径)
# 导入模块的本质就是把python文件解释一遍
# (import test test='test.py all code'
# (from test import name name='code')
# import module_name-->module_name.py---->module_name.py的路径-->sys.path
# 导入包的本质就是执行该包下的_init.py文件。所以可以在__init__里面加入 比如 from . import 某个模块名
# 这样的方式,来预先解释包里面的某个模块,从而使得模块可以使用。

# 4.导入优化
# from 模块 import 函数名
# 简单优化一下。

# 5.标注库
# 1.time与datetime
# strftime("格式",struct time)--->“格式化的字符串"
# strptime(“格式化的字符事”,“格式")->struct_time
# >>>time.strftime("%m:%d %H:%M:%S %Y",x)#%Y:x.tm_year %m:x.tm_mon
# '2016-08:2014:31:52'
# >>>time.strptime('2016-08:20 14:31:52',"%Y-%m:%S %H:%M:%d")
# time.struct_time(tm_year=2016,tm_mon=8,tm_mday=20,tm hour=14,tm min
# yday=233,tm_isdst=-1)
# x.tm_year=2016

# 最重要的是:获取目前的标准时间。
# time.asctime(time.localtime()) 元祖为变量
# # time.ctime(time.time()) 时间戳为变量
# import datetime
# datetime模块需要注意的东西
# n = datetimt.datetime.now() 当前时间,非常见格式 ,为datetime对象
# datetime.datetime.now().ctime() 显示常见格式。
# k = datetime.timedelta(minutes=20,hours==2,days=2) 计算时间间隔用。
# two_day_2_hours_20_min_later = n + k
# two_day_2_hours_20_min_later.ctime()


# 2.random模块
# import random
# random.random() 出现0-1的随机数
# random.randint(2,6) 随机在出现2-6的整数,含有6
# random.randrange(2,6) 随机出现2-6,不含有6的整数;range是顾前不顾后的。
# random.choice([13,4,2,5]) 从列表中中随机选一个
# l = [1,2,3,4,5,6,7]
# random.shuffle(l) 打乱列表顺序。
#
#
#
# 操作系统进行调用的接口
# os.getcwd()获取当前工作自录,即当前python脚本工作的目录路径
# os.chdir("dirname")改变当前脚本工作目录;相当于she11下cd
# os.curdir 返回当前目录('.')
# os.pardir获取当前目录的父目泉字符串名:('..'')
# os.makedirs('dirname1/dirname2') 递归地创建目录
# os.remove('dirname')
# os.mkdir('dicname') 生成单极目录
# os.rmdir(“dirname')删除单级空目录,若自录不为空则无法删除,报错;相当于shel1中rmdir dirnane
# os.1istdir('dirname”)列出指定目录下的所有文件和子目录,包括隐蒸文件,并以列表方式打印
# os.remove()T 删除一个文件
# os.renane("oldname","newname")重命名文件/目录
# os.sep 输出操作系统特定的路径分隔符,win下为“\\”,Linux下为/”
# os.1inesep 输出当前平台使用的行终止符,win下为\t\n”,Linux下为“\n”
# os.pathsep 输出用于分割文件路径的字符串
# os.name 输出字符串指示当前使用平台。'win->nt';'Linux->posix'
# os.system("bash command")运行she11命令,直接显示
# os.path.abspath(path) 返回path规英化的绝对路径
# os.path.split(poth)将path分制成目录和文件名一元组返回高,A
# os.path.dirname(path)返国ath的国易:其容多就名高R品上地::P考式(9理营))现吸家参适简全值。B即os.path.split(path)的
# os.path.basename(path).返回path最后的文件名,如果没有文件名,则返回空值。
# os.path.isabs(path) 如果path是绝对路径,返回True
# os.path.isfile(path) path是一个存在的文件,返回true。否贝返false
# os.path.isdir(path) 如果path是个存存在的目录。返回true。否贝返false
# os.path.join(path[,path2,path3]) 将目录组合后返回,第一个必须是绝对路径,否则被忽略,自动下一个
# os.path.getatime(path) 获取目录的最近存取时间
# os.path.getmtime(path) 获取目录的最近更改时间。

import sys
#
# sys.argv 用于脚本外部直接传参数,命令行参数List,第一个元素是程序本身路径
# sys.exit(n) 退出程序,正常退出时exit(0)
# sys.version 获取Python解释程序的版本信息
# sys.maxint 最大的Int值
# sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# sys.platform 返回操作系统平台名称
# sys.append()
# sys.stdout.write('please:')

# val = sys.stdin.readline()[:-1]
#
# shutil 模块
# shutil.copyfile(f1, f2) 将f1拷贝到f2中。



shelve 模块,就是一种存储的方式。
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式.
import shelve
= shelve.open('shelve_test'#打开一个文件
class Test(object):
    def __init__(self,n):
        self.n = n
= Test(123
t2 = Test(123334)
name = ["alex","rain","test"]
d["test"= name #持久化列表
d["t1"= t      #持久化类
d["t2"= t2
d.close()


shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import shelve
= shelve.open('shelve_test'#打开一个文件
class Test(object):
    def __init__(self,n):
        self.n = n
= Test(123
t2 = Test(123334)
name = ["alex","rain","test"]
d["test"= name #持久化列表
d["t1"= t      #持久化类
d["t2"= t2
d.close()

转载于:https://www.cnblogs.com/Ian-learning/p/8447556.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows XP系统的“恢复”办法

Windows XP系统的“恢复”办法 1.让SFC命令全面修复受损文件 如果系统因丢失了太多的系统重要文件而变得非常不稳定,那么按照前面介绍的方法一一修复,相必会让人发疯的。这时就需要使用SFC文件检测器命令,来全面的检测并修复受损的…

自己动手实现一个malloc内存分配器 | 30图

对内存分配器透彻理解是编程高手的标志之一。如果你不能理解malloc之类内存分配器实现原理的话,那你可能写不出高性能程序,写不出高性能程序就很难参与核心项目,参与不了核心项目那么很难升职加薪,很难升级加薪就无法走向人生巅峰…

机器学习面试——分类算法SVM

1、什么是硬间隔和软间隔? 当训练数据线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机。 当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器…

计算机的发展史及多道技术

首先先补充一下上一篇的一个小问题。 应用程序的启动流程:   前提:应用程序是运行于操作系统之上的   举例:启动暴风音影     1.双击快捷方式     2.告诉操作系统一个文件路径     3.操作系统从硬盘读取文件内容到内存中   …

Cortex M3 NVIC与中断控制

Cortex M3 NVIC与中断控制 宗旨:技术的学习是有限的,分享的精神是无限的。 一、NVIC概览 ——嵌套中断向量表控制器 NVIC 的寄存器以存储器映射的方式来访问,除了包含控制寄存器和中断处理的控制逻辑之外, NVIC 还包含了 MPU、 S…

VS 2005 或 VS 2008 在安装VSS 2005后,看不到源代码管理的解决办法

昨天有朋友在重新安装VS 2008后,再安装VSS 2005,安装好后在文件菜单中找不到“源代码管理”的菜单项,后来经朋友告知,是开发工具的默认选项设置问题。打开开发工具,“工具”--“选项”:(如图&am…

代码里-3gt;gt;1是-2但3gt;gt;1是1,-3/2却又是-1,为什么?

之前群里有个同学向大家提出了类似这样的问题。随后这位同学公布了答案:右移运算是向下取整,除法是向零取整。这句话对以上现象做了很好的总结,可是本质原因是什么呢?我一直以为-3>>1的结果是-1。所以打算思考一下这个问题。…

机器学习面试——逻辑回归和线性回归

1、什么是广义线性模型(generalize linear model)? 普通线性回归模型是假设X为自变量,Y为因变量,当X是一维的,y是一维的,共进行n次观测,则 其中,w是待估计的参数&#x…

洛谷P3205合唱队——区间DP

题目&#xff1a;https://www.luogu.org/problemnew/show/P3205 枚举点&#xff0c;分类为上一个区间的左端点或右端点&#xff0c;满足条件便即可&#xff1b; 注意不要重复(当l2时)。 代码如下&#xff1a; #include<iostream> #include<cstdio> using namespace…

远程连接server问题

开启Windows防火墙后&#xff0c;当远程连接Server服务器时被拒绝&#xff0c;其解决方法如下&#xff1a;1、启动Windows防火墙。开始 > 设置 > 控制面板 > Windows防火墙。缺省情况下&#xff0c;防火墙是启用的&#xff0c;这是推荐的设置。2、点击“例外”选项卡。…

STM32开发环境

STM32开发环境 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 一、MDK安装 MDK 是一个集代码编辑&#xff0c;编译&#xff0c;链接和下载于一体的集成开发环境&#xff08; KDE &#xff09;。MDK 这个名字我们可能不熟悉&#xff0c;但说到 KEIL …

看完「大江大河2」

昨晚熬夜看完&#xff0c;说下自己的想法虽然不能做到百分之百的感同身受&#xff0c;但是确实被剧中的情景所感染&#xff0c;想做成大事情&#xff0c;需要经历的磨难一定也会很大&#xff0c;正如很多年前老水打篮球说的那句「管理人&#xff0c;远远比技术更难」。相比于老…

机器学习面试——XGBoost,GBDT,RF(上)

1、常见的集成思想 bagging&#xff1a;基学习器之间并行训练&#xff0c;且学习器之间没有依赖&#xff0c;像是集体决策的过程&#xff0c;每个个体都进行单独学习&#xff0c;再通过投票的方式做最后的集体决策。常见的算法有随机森林 boosting&#xff1a;基学习器之间串…

一个女程序员的创业人生:胆识也是一种能力 作者:秋镇菜

我在28岁生日那天电信一个副总劝我出来开公司算了&#xff0c;然后想了一天第二天就去工商局注册了&#xff0c;从有开公司的想法到工商局注册仅仅一天时间&#xff01;然后2003年8 月份拿到营业执照&#xff0c;根本不知道安全是怎么一回事情&#xff0c;找北大方正一个技术副…

[SDOI2016]排列计数

Description 求有多少种长度为 n 的序列 A&#xff0c;满足以下条件&#xff1a;1 ~ n 这 n 个数在序列中各出现了一次若第 i 个数 A[i] 的值为 i&#xff0c;则称 i 是稳定的。序列恰好有 m 个数是稳定的满足条件的序列可能很多&#xff0c;序列数对 10^97 取模。Input 第一行…

听说有人不了解柔性数组

1 引言 定长数组包在平时的开发中&#xff0c;缓冲区数据收发时&#xff0c;如果采用缓冲区定长包&#xff0c;假定大小是 1k&#xff0c;MAX_LENGTH 为 1024。结构体如下&#xff1a;// 定长缓冲区 struct max_buffer {int len;char data[MAX_LENGTH]; };数据结构的大小 &…

STM32启动文件——startup_stm32f10x_hd.s

STM32启动文件——startup_stm32f10x_hd.s 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 一、启动文件的作用 &#xff08;关于启动代码的作用&#xff0c;前面已经提到过了&#xff0c;这里再啰嗦一下&#xff09; &#xff08;1&#xff09;初始化…

Transformer模型拆解分析

资源来自&#xff1a;DataWhale 学习资料 最近看了DataWhale 的Transformer图解&#xff0c;突然对Transformer的结构图有了更加清晰的理解&#xff0c;特此记录。 1、大框架 Transformer是由6个encoder和6个decoder组成&#xff0c;模型的具体实现是model变量里边&#xff0…

设计模式学习笔记六:.NET反射工厂

1&#xff0e; 简述 通过前面的学习&#xff0c;我们以传统的方式实现了简单工厂&#xff0c;工厂方法和抽象工厂&#xff0c;但是有些场合下如此处理&#xff0c;代码会变得冗余并且难以维护。假设我们要创建交通工具。可以是汽车&#xff0c;火车&#xff0c;轮船等&#xff…

在unity 中,使用http请求,下载文件到可读可写路径

在这里我用了一个线程池&#xff0c;线程池参数接收一个带有object参数的&#xff0c;无返回值的委托 &#xff0c;下载用到的核心代码&#xff0c;网上拷贝的&#xff0c;他的核心就是发起一个web请求&#xff0c;然后得到请求的响应&#xff0c;读取响应的流 剩下的都是常见的…