python文件操作和模块_Python(五)--模块与文件操作
Python(五)–模块与文件操作
模块和包
模块
模块是包含Python定义和语句的文件,把一组相关函数或代码组织到一个文件中,一个文件即一个模块.模块的文件名 = 模块名+后缀.py 模块之间代码共享,可以相互调用,实现代码重用.
模块的导入
import 模块名 #导入一个模块
import 模块名1[,模块名2][,模块名3] #导入多个模块
模块和变量一样也有作用域的区别,如果在模块的顶层导入,则作用域是全局的;如果在函数中导入,则作用域是局部的.一个模块只能被加载一次,无论它被导入多少次,这样可以阻止多重导入时,代码被多次执行.在实际编码时,推荐直接在顶层导入. 导入的模块也分几种,有Python的标准库模块,第三方模块和应用程序自定义的模块.如果是第一次导入,模块将被加载并执行,加载执行时在搜索路径中找到指定的模块,之后再调用时就不需要再次加载了.
示例:
import sys
print sys.platform
当引用模块里面的函数时,就要使用”模块名.函数名”引用. 如果不使用模块名,而直接用函数名进行调用,就需要在导入时指定需要使用的模块的属性.
from 模块名 import 属性名
from 模块名 import (属性名1)[,属性名2][,属性名3]...
还可以使用as关键字为模块属性重新命名.
import 模块名 as 模块新名称
from 模块名 import 属性名 as 属性新名称
包
当程序中的模块非常多时,可以把模块再进行划分,组织成包.包实际上就是一个目录,但必须包含一个__init__.py文件.__init__文件可以是一个空文件,表示当i安目录是一个包.包可以嵌套使用,包中还可以包含其他子包.
包的使用 导入包中的模块只需要在模块名前加上包的名称即可.__init__.py 前面使用的是空__init__.py文件,也可以在里面添加代码,她的作用实际上是初始化包中的公共变量.在第一次使用import导入包中热河部分后,包中的__init__.py文件中的代码就会执行.
常用的模块
模块名称说明copy复制keyword记录关键字random获得随机数sys空盒子shell程序time得到时间
- random模块
方法操作random()生成一个随机浮点数(0.0~1.0)uniform([上限],[下限])在设定的范围内产生一个浮点数randint([上限],[下限])随机生成设定范围内的一个整数choice(序列)从该序列中选取一个随机的元素返回shuffle(序列)随机打乱一个序列中元素的顺序sample(序列,长度)从指定的序列中随机截取指定长度的片段,序列本身不作修改
示例:
import random
print random.uniform(1, 5)
print random.randint(0, 1)
list1 = ['a','b','c']
print random.choice(list1)
random.shuffle(list1)
print list1
sys模块
属性/方法操作path获取模块的搜索路径,初始化时使用PYTHONPATH环境变量的值platform获取操作系统平台的名称version获取解释器的版本信息maxint最大的int值maxunicode最大的Unicode值stdin读取信息到Shell程序中stdout向Sshell程序输出信息Exit()退出Shell程序
- time模块 各种操作时间的方法.
属性/方法操作time()获取localtime()获取当前时间的元组形式ctime()获取当前时间的字符串形式asctime(t)将时间转换成字符串,参数t时元组形式的时间sleep(secs)按指定的时间推迟运行,参数是推迟的时间,单位是秒
文件和目录的操作
文件操作
文件的打开和关闭操作 使用open()函数打开文件. open(filePath,access_mode[,buffering]) access_mode为文件打开模式(默认为r)
模式操作说明r读取文件必须存在w写入如果文件存在,会先清空其中数据,在重新创建a追加如果文件不存在,现自动创建文件.所有写入的数据都将追加到文件的末尾b二进制文件不能作为第一字符出现,打开音视频等二进制文件时,用到b模式
注意:打开之后记得close();
向文件中写数据
file = open("C:/Users/Administrator/Desktop/test.txt",'w')
file.write("Veng")
file.close()
从文件中读取数据
file = open("C:/Users/Administrator/Desktop/test.txt","r")
print file.read(3) #读取多少个字符
file.readline() #读取一行
file.close()
补充:还有其他读写模式(r+,w+,a+);r+表示不清除源文件内容,读写方式打开,而新添的数据在文件尾部;w+表示清除源文件内容,读写方式打开,读不到源文件内容;a+表示吧文件指针移到文件末尾,在文件末尾可以继续些数据,度数据不受影响. 从python2.2开始引进了迭代器和文件迭代.
for line in file:
print line
文件的指针 前面讲到的文件操作时按顺序进行读取的,在Python中实际上是用贺子珍实现的,指针时指向文件中数据的位置.Python提供了移动指针的方法file.seek(offset,whence = 0),相对于whence位置的偏移offset.常用的文件对象的操作方法
方法操作open()创建并打开文件file.close()关闭文件file.fileo()返回文件的描述符file.read(size = -1)从文件读取size个字节,当size<0时,读取剩余的所有字节,作为字符串返回file.readline(sizhint=0)从文件中读取并返回一行(包括行结束符),或返回最大的size个字符file.readlines(sizhint=0)读取文件的所有行并作为一个列表返回(包括所有行结束符).如果给定的sizhint且大于0,将返回总和大约为sizhint字节的行file.seek(off,whence = 0)相对于whence位置的偏移offset.0代表文件的开始,1代表当前位置,2代表文件末尾file.write(str)向文件写入字符串file.writeline(seq)向文件写入字符串序列seq
目录操作
目录操作可以使用Python的OS模块. - 获取当前路径–getcwd()
import os
print os.getcwd() #获取当前路径
获取目录下所有文件的目录列表
print os.listdir(os.getcwd())
创建新的目录
os.mkdir("python") #默认目录创建在当前目录下.
删除目录
os.rmdir("python") #删除目录
判断目录是否存在
print os.path.isdir("python")
判断是否时是文件
print os.path.isfile("python")
walk(path)可以遍历目录中的所有文件和目录中的内容,返回一个可迭代的生成器.
o = os.walk("C:/Users/Administrator/Desktop/")
print [f for f in o]
python文件操作和模块_Python(五)--模块与文件操作相关推荐
- python 记录日志到日志服务器_Python日志模块的使用与思考:服务器程序将每日日志写入每日日志文件,logging,及,把,每天,到,当天,中...
需求: 一个Python服务器程序,可能会连续运行几个月,现在需要把每天产生的log信息写入到当天的文件中,即每天产生一个log文件. 使用logging模块编写程序,第一个版本如下: import ...
- python有哪几种模块_python常用模块有哪些?
本文和大家分享的主要是python中常用几大模块相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.时间模块(time) 在学习模块之前我们所接触的时间模块 import time ti ...
- python如何自定义模块_python自定义模块和开源模块使用方法
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
- python shelve模块_python常用模块之shelve模块
python常用模块之shelve模块 shelve模块是一个简单的k,v将内存中的数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据类型 我们在上面讲json.pickle ...
- python常用运维模块_python常用模块之一
sys模块: sys模块是提供关于python本身的详细内在的信息的模块. sys.executable变量,它包含python解释器的路径 sys.platform变量,告诉我们现在处于什么操作系统 ...
- python counter模块_python collections模块 计数器(counter)
一.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 把我写入的元素出现的多少次都计算出来 import collectio ...
- python path模块_python pathlib模块详解
借鉴于 pathlib 官方文档 用于自己学习和记录 使用 pathlib 模块基本可以代替 os.path 来处理路径.它采用了完全面向对象的编程方式. 其包含六个类,图片如下: 但是大体有两类: ...
- python中的模块_python的模块和包的详细说明
Python模块和包的详细说明 模块的导入 模块的加载与修改 模块和脚本的说明 模块搜索路径 包的导入 一.模块的导入 之前我们简单的使用了一下模块,并没有详细的介绍,现在我们来详细的说说 1.什么是 ...
- python manager模块_Python 并发模块
Python 并发模块 multiprocessing 介绍 multiprocessing 是一个用与 threading 模块相似API的支持产生进程的包. multiprocessing 包同时 ...
最新文章
- File.documentsDirectory抛出异常Error #2014问题解决方案
- 基于图文界面的蓝牙扫描工具btscanner
- 命令注入工具Commix
- cannot import name ‘izip‘ from ‘itertools‘
- 西南民大oj(矩阵快速幂)
- bzoj 1710: [Usaco2007 Open]Cheappal 廉价回文【区间dp】
- 高级GIS-0.整体裁剪
- 【语音分离】基于matlab FastICA语音信号采集+混合+分离【含Matlab源码 008期】
- 基于matlab的谐波处理及无功功率补偿源码,谐波抑制和无功功率补偿(第3版) pdf epub mobi txt 下载...
- linux vi命令
- python计算机二级刷题软件(未来教育) 第十五套
- Qsys中的EPCS使用技巧
- Mybatis事务失效的几种情况
- 人生杂感随笔-观佛教与道教(六道轮回)
- ESP8266+blinker点灯(小爱+天猫+小度三合一)
- Unity的Socket网络编程
- 基于YOLOV3的安全帽检测
- JVM的Metaspace,JAVA8以前是Permanent Area
- 文献阅读---玉米干旱响应和耐受性基因表达的调控变异定位
- Java虚拟机规范 Java SE 8版 - class文件格式(二)
热门文章
- 参考文献代码--学位论文做参考文献
- 3D打印机DIY之二------3D打印机电路部分改装与连接
- Leetcode算法Java全解答--75. 颜色分类
- java爬取网页数据_利用Python做数据分析—对前程无忧数据类岗位进行分析
- Vue项目开发-仿蘑菇街电商APP
- 连接mysql服务验证失败_数据库连接失败的原因分析及解决办法
- 怎样使用PDF编辑器从TXT文档新建PDF文档
- Alamofire初探
- svr代码matlab,matlab解决svr代码.docx
- linux显示全部字符集,linux 字符集 页面显示乱码