Python学习笔记005_文件_OS_模块_pickle
>>>
>>> # 文件 open()方法是打开文件,它有很多参数,第一个文件名是必须的(带路径)
>>>
>>> f = open('E:/BaiduYunDownload/awei.txt')
>>> f
<_io.TextIOWrapper name='E:/BaiduYunDownload/awei.txt' mode='r' encoding='cp936'>
>>> # 直接读取文件的内容
>>> f.read()
'------------数据库---------------------------------------------------\ndev\njdbc.url=jdbc\\:oracle\\:thin\\:@30.3.4.78\\:1521\\:vtmdb\n\njdbc.username=receipt\njdbc.password=dxyxjr1234\n\nuat\njdbc.url=jdbc\\:oracle\\:thin\\:@30.3.4.95\\:1521\\:vtmdb\n\njdbc.username=receipt\njdbc.password=Zxjr1234\n数据库一般用户的权限 connect resource\n\n我本地的数据库用户名 和密码也是 receipt dxyxjr1234'
>>> # 获取当前文件指针的位置
>>> f.tell()
382
>>> # 关闭文件
>>> f.close()
>>>
>>> # 重新打开文件
>>> f = open('E:/BaiduYunDownload/awei.txt')
>>> # 读取指定个数的字符
>>> f.read(10)
'----------'
>>> f.tell()
10
>>>
>>> # 修改文件指针的位置 seek(offset,from):
>>> # 从from(0表示文件起始位置,1表示文件当前位置,2表示文件末尾)偏移offse个字节
>>> f.seek(0,0)
0
>>> # 读取一行
>>> f.readline()
'------------数据库---------------------------------------------------\n'
>>>
>>> # 可以使用list将文件内容包裹成列表
>>> f.seek(0,0)
0
>>> list(f)
['------------数据库---------------------------------------------------\n', 'dev\n', 'jdbc.url=jdbc\\:oracle\\:thin\\:@30.3.4.78\\:1521\\:vtmdb\n', '\n', 'jdbc.username=receipt\n', 'jdbc.password=dxyxjr1234\n', '\n', 'uat\n', 'jdbc.url=jdbc\\:oracle\\:thin\\:@30.3.4.95\\:1521\\:vtmdb\n', '\n', 'jdbc.username=receipt\n', 'jdbc.password=Zxjr1234\n', '数据库一般用户的权限 connect resource\n', '\n', '我本地的数据库用户名 和密码也是 receipt dxyxjr1234']
>>>
>>> f.tell()
382
>>> f.seek(0,0)
0
>>> # 我们可以直接迭代文件对象
>>>
>>> for each_line in f :
print(each_line)
------------数据库---------------------------------------------------
dev
jdbc.url=jdbc\:oracle\:thin\:@30.3.4.78\:1521\:vtmdb
jdbc.username=receipt
jdbc.password=dxyxjr1234
uat
jdbc.url=jdbc\:oracle\:thin\:@30.3.4.95\:1521\:vtmdb
jdbc.username=receipt
jdbc.password=Zxjr1234
数据库一般用户的权限 connect resource
我本地的数据库用户名 和密码也是 receipt dxyxjr1234
>>>
>>> # 文件的写入,必须是使用w或者a打开才能行
>>> f.close()
>>> f = open('E:/BaiduYunDownload/awei.txt','a')
>>> f.write('I love you')
10
>>> f.close()
# 模块(可用代码段的打包),它是包含所定义的变量、函数的文件,扩展名是py 它可以被其它程序所引用
# 比如 os模块, time模块
#使用模块中的函数时,应该先引用 import
>>>
>>> #Python提供了一个标准模块pickle(它的英文意思是泡菜),利用它可以将字典、集合等复杂的数据类型转化为二进制文件
>>> # 对象转换为二进制流 是 存放 picking
>>> # 二进制流转换为对象 是 读取 unpickling
>>>
>>> import pickle
>>> my_list = [123,3.14,False,'杨伟',['awei hh']]
>>> #打开文件 ,文件后缀名随便起,这里我们统一自定义为 pkl
>>> # 这里一定要使用二进制方式写文件方式打开
>>> pickle_file = open('E:/yangw.pkl','wb')
>>> # 用dump方法将对象保存到二进制文件中,文件用完记得要关闭
>>> pickle.dump(my_list,pickle_file)
>>> pickle_file.close()
>>>
>>> # 读取二进制文件 ,将二进制流转换为对象使用load方法
>>> pickle_file = open('E:/yangw.pkl','rb')
>>> my_list2 = pickle.load(pickle_file)
>>> pickle_file.close()
>>> my_list2
[123, 3.14, False, '杨伟', ['awei hh']]
>>>
>>> # 这个在实际的编程中,我们会遇到复杂的、数据量特别多的数据,这个时候可以使用pickle 将数据保存dump到二进制文件中,使用时使用load加载
>>>
>>>
Python学习笔记005_文件_OS_模块_pickle的更多相关文章
- Python学习笔记之文件处理
1.打开和关闭 要打开文件可以使用函数 open(),它位于自动导入模块 io 中.函数将文件名作为唯一不可缺少的函数,并返回一个文件对象.它还有一个名叫 mode 的参数,用于指定文件模式,其可取值 ...
- [Python学习笔记]组织文件
shutil 模块 shutil 模块可以让我们很方便的在Python程序中复制.移动.改名和删除文件. 复制文件和文件夹 使用shutil.copy()来复制文件,该函数含两个参数,均为字符串格式的 ...
- python学习笔记-(九)模块
基础知识 1. 定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑----实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块就是test) 包:用 ...
- python学习笔记之九:模块和包
Python的标准安装包括一组模块,称为标准库.这里介绍模块的工作方式,学习如何使用它们. 一. 模块 1.1 用import从外部模块获取函数并为自己的程序所用: >>> from ...
- Python学习笔记015——文件file的常规操作之一(文本文件)
1 什么是文件 文件是用于数据存储的单位 文件通常用来长期保存数据 读写文件是最常见的I/O操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件的功能都是由操作系统提供的,一般而言,操 ...
- python学习笔记(11):文件的访问与函数式编程
一.文本文件读写的三种方法 1.直接读入 file1 = open('E:/hello/hello.txt') file2 = open('output.txt','w') #w是可写的文件 whil ...
- python学习笔记(7)文件的访问与函数式编程
一.文件读写的3中方法 1.直接读入 fiel1=open('test.txt') file2=open('output.txt') while True: line=file1.readLine() ...
- python学习笔记(六)---文件操作与异常处理机制
文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...
- python学习笔记(六)— 模块
一.os.sys模块 import os print(os.getcwd())#取当前工作目录,绝对路径 print(os.chdir("../"))#更改当前目录 print(o ...
随机推荐
- 8.23.3 IO-转换流的作用
Reader和Writer最重要的子类是InputStreamReader和OutputStreamWriter类. InputStreamReader类包含了一个底层输入流,可以从中读取原始字节.它 ...
- [目标检测]YOLO原理
1 YOLO 创新点: 端到端训练及推断 + 改革区域建议框式目标检测框架 + 实时目标检测 1.1 创新点 (1) 改革了区域建议框式检测框架: RCNN系列均需要生成建议框,在建议框上进行分类与回 ...
- 深入了解mysql数据传输编码原理
一.基本概念(这里引用http://www.laruence.com/2008/01/05/12.html) 1. 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编 ...
- 更符合面向对象的数据库操作方式-OrmLite
1. jar包下载 下载地址:http://ormlite.com/releases/,一般用core和android包即可. 如果使用的是android studio,也可以直接通过module s ...
- 每次打开VS都报错:我们无法自动填充你的 Visual Studio Team Services 帐户
我们无法自动填充你的 Visual Studio Team Services 帐户.遇到下面的错误: TF400813: Resource not available for anonymous ac ...
- GHO2VMDK转换工具分享含VS2010源码
平常经常用到虚拟机,每次从gho转换为vmdk时都要输入cmd代码,觉得麻烦,自己动手做了个gho2vmdk转换工具,集成ghost32.exe文件,可以一键转换,省时省事.运行时会将ghost32. ...
- 再起航,我的学习笔记之JavaScript设计模式17(模板方法模式)
模板方法模式 由模板方法模式开始我们正式告别结构型设计模式,开始行为型设计模式的学习分享 行为型设计模式用于不同对象之间职责划分或算法抽象,行为型设计模式不仅仅涉及类和对象,还涉及类或对象之间的交流模 ...
- 两台主机之间单向Ping不通的问题
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 ...
- C++中4个类型转换相关的关键字/特点/应用场合
reinterpret_cast是C++里面的一个强制类型转换符,能够将任何的指针类型转换成其他的任何指针类型:能够将任何的整数类型转换成指针类型,反之亦然:滥用reinterpret_cast强制类 ...
- 实现CA证书创建及客户端申请证书
author:JevonWei 版权声明:原创作品 CA证书的相关文件路径 openssl配置文件/etc/pki/tls/openssl.cnf /etc/pki/tls/openssl.cnf C ...