>>>
>>> # 文件 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加载
>>>
>>>

最新文章

  1. 学习php一个星期
  2. Android异步加载访问网络图片-解析json
  3. master page
  4. android 学习随笔十四(页面跳转与数据传递)
  5. 自定义Exception
  6. 文件 FIFO队列
  7. CustomerSOList
  8. app启动其他应用
  9. fiddler Composer 构建请求
  10. java基础:数组的拼接
  11. Spring @Component的作用详细介绍
  12. C#实现MD5算法
  13. JVM学习--(六)类加载器原理
  14. QM4_Probability
  15. Vue.js 学习笔记 第2章 数据绑定和第一个Vue应用
  16. 关于select的id以及value传给后台的问题
  17. iPhone / iPad L2TP Client Setup
  18. UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例
  19. (简单广搜) Ice Cave -- codeforces -- 540C
  20. Redis持久化之RDB&amp;&amp;AOF的区别

热门文章

  1. Java web轻量级开发面试教程读书笔记:数据库方面,如何准备面试
  2. 如何获取Azure Storage Blob的MD5值
  3. QQ推广神器:批量加群、好友、群发。支持批量搜索关键词加群分享下载
  4. maven 搭新建成之后 无法创建 src/main/java 目录解决
  5. 修改xcode初始生成代码
  6. [读书笔记] 三、搭建基于Spring boot的JavaWeb项目
  7. 官方问答--微信小程序常见FAQ (17.8.21-17.8.27)
  8. 一次由SELinux引起的ssh公钥认证失败问题
  9. 【搬运工】之YSlow安装教程
  10. BootKit病毒——“异鬼Ⅱ”的前世今生