>>>
>>> # 文件 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的更多相关文章

  1. Python学习笔记之文件处理

    1.打开和关闭 要打开文件可以使用函数 open(),它位于自动导入模块 io 中.函数将文件名作为唯一不可缺少的函数,并返回一个文件对象.它还有一个名叫 mode 的参数,用于指定文件模式,其可取值 ...

  2. [Python学习笔记]组织文件

    shutil 模块 shutil 模块可以让我们很方便的在Python程序中复制.移动.改名和删除文件. 复制文件和文件夹 使用shutil.copy()来复制文件,该函数含两个参数,均为字符串格式的 ...

  3. python学习笔记-(九)模块

    基础知识 1. 定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑----实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块就是test) 包:用 ...

  4. python学习笔记之九:模块和包

    Python的标准安装包括一组模块,称为标准库.这里介绍模块的工作方式,学习如何使用它们. 一. 模块 1.1 用import从外部模块获取函数并为自己的程序所用: >>> from ...

  5. Python学习笔记015——文件file的常规操作之一(文本文件)

    1 什么是文件 文件是用于数据存储的单位 文件通常用来长期保存数据 读写文件是最常见的I/O操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件的功能都是由操作系统提供的,一般而言,操 ...

  6. python学习笔记(11):文件的访问与函数式编程

    一.文本文件读写的三种方法 1.直接读入 file1 = open('E:/hello/hello.txt') file2 = open('output.txt','w') #w是可写的文件 whil ...

  7. python学习笔记(7)文件的访问与函数式编程

    一.文件读写的3中方法 1.直接读入 fiel1=open('test.txt') file2=open('output.txt') while True: line=file1.readLine() ...

  8. python学习笔记(六)---文件操作与异常处理机制

    文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...

  9. python学习笔记(六)— 模块

    一.os.sys模块 import os print(os.getcwd())#取当前工作目录,绝对路径 print(os.chdir("../"))#更改当前目录 print(o ...

随机推荐

  1. cat命令汇总整理

    Cat命令:一般用作打开文件,查看文件内容(可以一次查看多个文件),参数有如下几个: -a 或 –all,显示全部 -b 或--number-nonblank 对非空输出行编号 -n 或 --numb ...

  2. Andrew Ng机器学习课程笔记--week3(逻辑回归&正则化参数)

    Logistic Regression 一.内容概要 Classification and Representation Classification Hypothesis Representatio ...

  3. jenkins 多选框

    背景jenkins自带的参数化不支持多选框,不过有插件支持:Extended Choice Parameter Plug-In插件地址: https://plugins.jenkins.io/exte ...

  4. linux下mysql忘记密码的解决方案

    1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库.  因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的  状态下,其他的用户也可以任意地 ...

  5. 浏览网页之Web服务器

    Web服务器... ----------------------------- 网站服务器响应用户请求 ========================= 浏览网页的时候需要翻越一道墙 Firewal ...

  6. WeQuant交易策略—简单均线

    简单双均线策略(Simple Moving Average) 策略介绍简单双均线策略,通过一短一长(一快一慢)两个回看时间窗口收盘价的简单移动平均绘制两条均线,利用均线的交叉来跟踪价格的趋势.这里说的 ...

  7. hdu3713 Double Maze

    Problem Description Unlike single maze, double maze requires a common sequence of commands to solve ...

  8. poj2828 Buy ticket

    Description Railway tickets were difficult to buy around the Lunar New Year in China, so we must get ...

  9. Grails笔记一:windows8.1操作系统cmd下grails命令无效

    最近决定使用intellij idea工具来开发基于Grails框架的应用程序,,在安装好jdk 1.7以及配置好jdk和grails环境变量后进行grails测试,在win8.1的命令行窗口中输入以 ...

  10. Entity Framework Core 2.0 数据库迁移

    看见过几篇其他大神写的关于EFCore2.0的文章.本人有点小白,一开始看文档的时候除了一些基本操作外其他部分几乎没有读懂,我估计会有一部分人跟我一样,因为人家读懂了的早就懂了. 在这里我写一下我自己 ...