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 ...
随机推荐
- .NET Core 2.0迁移技巧之MemoryCache问题修复
对于传统的.NET Framework项目而言,System.Runtime.Caching命名空间是常用的工具了,其中MemoryCache类则常被用于实现内存缓存. .NET Core 2.0暂时 ...
- Linux下自动备份MySQL数据库并上传到远程FTP服务器
Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...
- OpenPop.NET
OpenPop用于接收邮件,可以读取邮件内容或者邮件附件内容导入到系统中 http://hpop.sourceforge.net/documentation/index.html
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十二节--小结,Bootstrap Table之角色管理
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 很多人说ABP不适合高并发大型,有一定的道理,但是我觉得还是可以的,就看架构师的能力了,哈哈,我之前公司就是ABP ...
- 《HelloGitHub》第 17 期
公告 本月 hellogitub.com 动态 服务器迁移到了国内,国内浏览速度有了质的飞跃. 代码重构 项目 运行更加简单,直接 clone.执行安装依赖命令.运行 上线了"我的收藏&qu ...
- vue-cli脚手架npm相关文件解读(7)dev-server.js
系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...
- ORACLE中seq$表更新频繁的分析
在分析ORACLE的AWR报告时,发现SQL ordered by Executions(记录了按照SQL的执行次数排序的TOP SQL.该排序可以看出监控范围内的SQL执行次数)下有一个SQL语句执 ...
- 【搬运工】之——Selenium+IDEA+Maven+TestNG环境搭建(转)
Selenium+IDEA+Maven+TestNG环境搭建 第一 安装java环境. 1. 下载并安装Jdk1.7或Jdk1.8 http://www.oracle.com/technetwork/ ...
- 认识大明星——轻量级容器docker知识树点亮
docker是一个轻量级容器,属于操作系统层面的虚拟化技术,封装了文件系统(AUFS)以及网络互联,进程隔离等特性. 传统虚拟化架构: docker虚拟化架构: 可以看出,docker是没有Guest ...
- HashMap 底层算法分析
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp72 Hash算法HashMap使用Hash算法,所以在解剖HashMap ...