一、文件的基本操作:

什么是文件:日常的我们的信息都记录在纸上,在计算机上相应的记录在硬盘上。
文件的作用:存储数据

# 1. 打开文件
"""
在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件。
open(文件名,访问模式)   e.g. f = open('test.txt', 'w')
如果文件不存在那么创建,如果存在那么就先清空,然后写入数据
要读取二进制文件,比如图片、视频等等,用'rb', 'wb', 'ab'等模式打开文件即可mode:r: 只能读文件w: 只能写入(清空文件内容)a+: 读写(文件追加写入内容)
"""
f = open('doc/hello.txt',mode='a+')
# 2. 文件读写操作
f.write('java\n')
# 3. 关闭文件:文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的:
f.close()

查看file对象的属性:

file对象的常用方法:

二、with语句:

with语句:python中的with语句使用于对资源进行访问的场合,保证不管处理过程中是否发生错误或者异常都会自动执行规定的(“清理”)操作,释放被访问的资源,比如有文件读写后自动关闭、线程中锁的自动获取和释放等。


# ****with语句
with open('doc/test.txt', 'w+') as f:f.write('hello world\n') # 写入文件f.seek(0, 0)      # ****: 移动指针到文件最开始print("当前指针的位置:", f.tell())f.seek(0, 2)      # 移动指针到文件末尾print("当前指针的位置:", f.tell())print(f.read())         # 读取文件内容
"""
seek的用法:
seek(offset, from)有2个参数:  offset:偏移量  from:方向  0:表示文件开头; 1:表示当前位置; 2:表示文件末尾
"""

三、os模块:

os,语义为操作系统,处理操作系统相关的功能,可跨平台。

1、关于操作系统:

import  os
import platform
# 1. 获取操作系统类型
print(os.name)
# 2. 获取主机信息,windows系统使用platform模块, 如果是Linux系统使用os模块
"""
try: 可能出现报错的代码
excpt: 如果出现异常,执行的内容
finally:是否有异常,都会执行的内容
"""
try:uname = os.uname()
except Exception:uname = platform.uname()
finally:print(uname)# 3.获取系统的环境变量
envs = os.environ
# os.environ.get('PASSWORD')
print(envs)# 4. 目录名和文件名拼接
# os.path.dirname获取某个文件对应的目录名
# __file__当前文件
# join拼接, 将目录名和文件名拼接起来。
BASE_DIR = os.path.dirname(__file__)
setting_file = os.path.join(BASE_DIR, 'dev.conf')
print(setting_file)

2、关于路径(上文):

3、关于文件和目录的操作:

4、文件的重命名和删除:

  • os模块中的rename()可以完成对文件的重命名操作。
    rename(需要修改的文件名, 新的文件名)

  • os模块中的remove()可以完成对文件的删除操作
    remove(待删除的文件名)

    文件的批量操作:
    在当前目录新建目录img, 里面包含100个文件, 100个文件名各不相同(X4G5.png):

四、json模块:

  • JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。
  • JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。
  • 这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
import  json# 1. 将python对象编码成json字符串
users = {'name':'westos', "age":18, 'city':'西安'}
json_str = json.dumps(users)
with open('doc/hello.json', 'w') as f:# ensure_ascii=False:中文可以成功存储# indent=4: 缩进为4个空格json.dump(users, f, ensure_ascii=False, indent=4)print("存储成功")
print(json_str, type(json_str))# 2. 将json字符串解码成python对象
with open('doc/hello.json') as f:python_obj = json.load(f)print(python_obj, type(python_obj))

拓展:存储excel文件:

import pandas
hosts = [{'host':'1.1.1.1', 'hostname':'test1', 'idc':'ali'},{'host':'1.1.1.2', 'hostname':'test2', 'idc':'ali'},{'host':'1.1.1.3', 'hostname':'test3', 'idc':'huawei'},{'host':'1.1.1.4', 'hostname':'test4', 'idc':'ali'}
]
# 1. 转换数据类型
df = pandas.DataFrame(hosts)
# print(df)# 2. 存储到excel文件中
df.to_excel('doc/hosts.xlsx')
print('success')"""
如何安装pandas?
> pip install pandas -i https://pypi.douban.com/simple
如何安装对excel操作的模块?
> pip install openpyxl -i https://pypi.douban.com/simple
"""

python的持久化存储文件操作相关推荐

  1. python持久化存储文件操作

    一. 文件操作介绍 日常中的数据存储在纸上, 而计算机的数据存储在哪里呢? -硬盘上 1. 文件的作用 一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把这些数据存放起来,相比重启 ...

  2. python变量持久化_Python 数据持久化:JSON

    Python 数据持久化:JSON 编程派微信号:codingpy 淡蓝色字体可以直接点击查看 上周更新的<Think Python 2e>第14章讲述了几种数据持久化的方式,包括dbm. ...

  3. python中shelf对象_11.4. shelve — Python 对象持久化 — Python 2.7.18 文档

    11.4.shelve - Python 对象持久化¶ "shelf" 是一种持久化的类似字典的对象. 与 "dbm" 数据库的区别在于 shelf 中的值(不 ...

  4. 5、python中的文件操作

    文章目录 文件操作介绍 文件的打开操作open() 文件的关闭操作 练习:词频统计操作 拓展:counter模块,可以用于统计和排序 os模块 关于操作系统 关于路径 json模块 将python对象 ...

  5. python字典(dict)+常用方法操作+列表、元组、集合、字典的互相转换

    python字典(dict)+常用方法操作+列表.元组.集合.字典的互相转换 字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 为了保存具有映射关系的数据,Python ...

  6. python 对 yaml 文件操作

    python 对 yaml 文件操作 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Introduce : p ...

  7. python 对docker的操作 :docker-py教程

    python 对docker的操作 :docker-py教程 见官方文档: https://docker-py.readthedocs.io/en/latest/

  8. Python实现tab文件操作

    Python实现tab文件操作 # -*- coding:gbk -*- import os class TABFILE:     def __init__(self, filename, dest_ ...

  9. python在windows下操作word的方法的代码

    把写内容过程经常用的一些内容收藏起来,下边内容内容是关于python在windows下操作word的方法的内容,希望能对各位朋友有些好处. import win32com from win32com. ...

最新文章

  1. 图解Windows域的命令行操作
  2. 第四天的作业与答案,py直播
  3. 小希的迷宫(请永远相信c语言的强大)
  4. 通过正则格式化url查询字符串
  5. [转载] Python数学实验与建模 课后习题第1章解析
  6. Linux硬件IO的优化简介
  7. VGG-16网络结构解析
  8. 读《淘宝产品十年事》-怎样成为一名出色的产品经理
  9. 步态分析——信度以及效度
  10. python有道字典_【Python】Python利用有道翻译开发API应用示例
  11. 飞机飞行轨迹可视化Tacview
  12. ERP : 总量库存管理
  13. 【翻译】和麻美学姐一起的世界树(マミさんと世界樹スレ)第二话
  14. iOS 四舍五入保留两位小数
  15. 21.网络互联与网络互联设备
  16. 低成本动作捕捉解决方案及虚幻VR网络游戏开发
  17. [回顾]清华申请退学博士作品:完全用Linux工作
  18. ofo创始人戴威开“美版瑞幸”:估值2亿美元 网友却喊他退押金
  19. UNP 学习笔记(一):简介
  20. 什么是绿色软件,如何制作绿色软件(转载)- -

热门文章

  1. php如何设置小数后一位,PHP问题:PHP如何保留小数点后一位,并且不四舍五入
  2. linux学习笔记--命令
  3. 关于IP地址与主机名映射的/etc/hosts文件配置
  4. PHP中会话处理函数的逻辑流程
  5. 态度决定一切,那什么决定态度?
  6. 联发科P90仍然用落后的A75核心有多少胜算?
  7. Android中检测手机制式和移动网络类型
  8. alexnet实验偶遇:loss nan, train acc 0.100, test acc 0.100情况,通过bn层加快收敛速度,防止过拟合,防止梯度消失、爆炸
  9. 小米手机nfc能连电脑吗_基于ios平台小米手环5 NFC版体验报告
  10. ffmpeg subtitles这个垃圾玩意好坑啊