#其实本人很烦发博客,但为了面试还是发一下好,证明一下自己的能力

  • 前言

首先说一下适用环境,在开发中我们有一些经常用到的数据(数据量大)需要存储起来。

存sql嘛又不合适,要知道在开发中每条sql语句都占资源的特别是数据量大的情况下。

      放缓存也不合适,因为数据量大,你不知道什么时候缓存就炸了。

     所以这时候就用在项目中生成文件的方式来存储是最合适的了,方法也简单。

首先导入我们python强大的os模块,os模块提供了非常丰富的方法用来处理文件和目录

然后我们需要告诉os模块我们需要操作的文件所在的目录(绝对路径)

接下来就是指定需要操作的文件了,然后使用os模块的walk方法。

格式:os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

  • top(一个文件夹) -- 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。

  root   top的绝对路径

    dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)

    files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

  • topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。
  • onerror -- 可选,需要一个 callable 对象,当 walk 需要异常时,会调用。
  • followlinks -- 可选,如果为 True,则会遍历目录下的快捷方式(linux 下是软连接 symbolic link )实际所指的目录(默认关闭),如果为 False,则优先遍历 top 的子目录。

通过os模块的walk方法,我们只要是要获得当前目录下的files(所有文件),然后是判断需要操作的文件在不在files里面(方法如下)。

然后通过open方法获得一个对象f,通过f.resd()方法获得文件里面的内容

然后讲一下储存吧,首先用open方法打开文件('a+'模式当文件不存在时会创建文件。文件存在文件指针将会放在文件的结尾,文件打开时会是追加模式。)

然后通过:fileObject.writelines(内容)   的发写入内容

  

浅谈开发中python通过os模块存储数据的更多相关文章

  1. 浅谈mysql中不同事务隔离级别下数据的显示效果

    事务的概念 事 务是一组原子性的SQL查询语句,也可以被看做一个工作单元.如果数据库引擎能够成功地对数据库应用所有的查询语句,它就会执行所有查询,如果任何一条查 询语句因为崩溃或其他原因而无法执行,那 ...

  2. [转]浅谈电路设计中应用DDR3处理缓存问题

    本文转自:浅谈电路设计中应用DDR3处理缓存问题_若海人生的专栏-CSDN博客 DDR系列SDRAM存储芯片的高速率.高集成度和低成本使其理所当然成为存储芯片中的一霸.在PC和消费电子领域自是如此,它 ...

  3. python之OS模块详解

    python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...

  4. 浅谈iOS中的userAgent

    浅谈iOS中的userAgent   User-Agent(用户代理)字符串是Web浏览器用于声明自身型号版本并随HTTP请求发送给Web服务器的字符串,在Web服务器上可以获取到该字符串. 在公司产 ...

  5. 浅谈C中的malloc和free

    转自http://bbs.bccn.net/thread-82212-1-1.html非常感谢作者 浅谈C中的malloc和free 在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的 ...

  6. 【转】浅谈Java中的hashcode方法(这个demo可以多看看)

    浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native i ...

  7. 【转】浅谈Java中的hashcode方法

    哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native int hashCode(); 根据这个 ...

  8. 浅谈HTTP中GET、POST用法以及它们的区别

    浅谈HTTP中GET.POST用法以及它们的区别 HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符.我们可以这样认为: 一 ...

  9. python的os模块总结

    python的os模块总结 目录 常用方法和属性总结 文件操作 目录操作 常用方法和属性总结 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir(&quo ...

随机推荐

  1. Qt无法正确 sendMessage 的消息

    项目背景: 项目需要将vc中的代码移植到Qt中,而且由于使用的SDK是32位,所以,Qt使用的版本是MinGW32,另外下载的也是官网最新的版本Qt5.11.1. 系统环境:Windows10 在将w ...

  2. LeetCode.atoi

    请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之 ...

  3. Oracle 数据库监听无法连接上、监听HANG住、监听无响应、TNS-12560

    环境: Windows server 2003 Oracle 11.2.0.1 问题: 一套老数据库在运行了很久后,突然就连接不上了,提示监听异常. 处理: 1.CMD命令行检查监听状态:无监听 2. ...

  4. 初学ASP.NET 知识点

    1.C# 中的虚方法 和 C++中的作用一致,能让指向子类的父类指针优先到子类中寻找方法,而不是直接调用父类中的方法. 看一段例子回忆下: namespace ConsoleApplication1 ...

  5. mongodb导出数据到csv

    mongo cws export.js > out.csv export.js // Date.prototype.getIOSDate = function () { return new D ...

  6. PC端实现微信登录浅析

    二维码 首先,二维码在编制上巧妙地利用构成计算机内部逻辑基础的“0”.“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理 ...

  7. 蓝桥杯 卡片换位(bfs)

    卡片换位 你玩过华容道的游戏吗?这是个类似的,但更简单的游戏.看下面 3 x 2 的格子 在其中放5张牌,其中A代表关羽,B代表张飞,* 代表士兵.还有一个格子是空着的. 你可以把一张牌移动到相邻的空 ...

  8. 机器学习之--线性回归sigmoid函数分类

    import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt import random #sigmoid函数 ...

  9. c++/qt的数据序列化和反序列化

    序列化以及反序列化的实现 struct Body { double weight; double height; }; //结构体 struct People { int age; Body dBod ...

  10. Y1E001 HDI二阶板、三阶板

    简单说一下我的理解: 首先我认为几阶就是几次压合,我习惯用几次压合来形容.. 一阶板我认为就是一次压合,只能打一种机械孔,在表层把 一阶板是最普通的的多层板压合方式. 如下图所示,L2~L3为芯板CO ...