Day 16 包 json模块和os模块

目录

    • 什么是包
    • 包被导入时发生的三件事
    • 包和模块的区别
    • 相对路径和绝对路径
  • json模块
  • OS模块
    • 列出目录下所有文件
    • 重命名文件
    • 删除文件
    • 拼接路径
    • 判断是否为文件
    • 判断是否为文件夹
    • 判断文件是否存在
    • 新建文件夹

什么是包

包就是里一个文件夹,里面存放了多个模块,并且包会自带__init__.py文件,包本质上也是模块

包被导入时发生的三件事

  1. 打开包里面的__init__.py文件
  2. python解释器运行解释__init__.py文件,把运行生成的名字丢入包的名称空间
  3. 导入包其实就是导入init.py中的名字

包和模块的区别

模块是直接打开文件,包是打开里面的init.py文件

包的好处:不改变模块原先的导入方式,并且简化模块开发者的管理复杂度

模块本质是文件,包本质是文件夹,但是包其实就是特殊的模块

相对路径和绝对路径

相对路径的好处:

  1. 如果包的名字改变了,使用相对路径不会对包内的文件造成影响
  2. 使用绝对路径是相对于执行文件而言,二相对路径是对于文件本身而言的

. 当前目录

..上一级目录

...上一级目录的上一级目录

==.号前面必须是一个包.不能是一个模块==

当文件是执行文件时,不能使用相对路径

json模块

json一般用于保存python中的字典(常用)或者列表

res=json.dumps(info)

dumps是将字典在内存中转化为字符串,得到的res就是一组字符串 里面都是双引号

res=json.loads(info)

loads是将字符创在内存中转化成字典,得到的res是就是字典类型的数据

json.dump(info,filename)

filename.write(json.dumps(info))

dump括号中的第一个变量是需要写入文件的内容(字典格式),第二个变量是写入的文件,一般写入专门的.json文件中,如上两行代码的功能是相同的

res=json.load(filename)

res=json.loads(filename.read)

load括号中传入的参数就是目标文件,将读取的内容赋值给res我们就可以对文件进行操作(读出的内容是字典),如上两行代码的功能是相同的

OS模块

import os

列出目录下所有文件

dir_list=os.listdir(filename)

print(dir_list)

重命名文件

os.rename(filename.filename_new)

删除文件

os.remove(filename)

拼接路径

会根据系统拼接不同的路径

os.path.jion(path,filename)

判断是否为文件

os.path.file(filename)

判断是否为文件夹

os.path.is dir(dirname)

判断文件是否存在

os.path.exists(filename)

新建文件夹

os.mkdir(dirname)

转载于:https://www.cnblogs.com/masterjian924/p/10986137.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人的左右脑

右脑支配左手、左脚、左耳等人体的左半身神经和感觉,而左脑支配右半身的神经和感觉,正如实验一所表明的,右视野同左脑,左视野同右脑相连。因为语言中枢在左脑,所以左脑主要完成语言的、逻辑的、分析的、代数的思考认识…

DevExpress控件使用经验总结

DevExpress控件使用经验总结 DevExpress是一个比较有名的界面控件套件,提供了一系列的界面控件套件的DotNet界面控件。本文主要介绍我在使用DevExpress控件过程中,遇到或者发现的一些问题解决方案,或者也可以所示一些小的经验总结。总体来讲&…

struct task_struct 结构分析 \linux-1.0\linux\include\linux\sched.h

//任务机构体,大小大概1024字节 struct task_struct {/* these are hardcoded - dont touch */ //硬件代码 不可被修改volatile long state; //状态标志 /* -1 unrunnable, 0 runnable, >0 stopped */ long counter; //计数long priority; //…

mysql基础14(关于mysql数据库在没有主键情况下去除重复数据办法)

关于mysql数据库在没有主键情况下去除重复数据办法 约定 表名:mat 根据 cat 字段去重 新增加主键为 id 步骤 1、为mat新增一列自增主键 alter table mat add column id int(11) PRIMARY KEY AUTO_INCREMENT; 2、根据cat字段分组,找到数量大于1的,…

ctype.h,ctype.c 结构分析 \linux-1.0\linux\include\linux\ctype

\linux-1.0\linux\include\linux\ctype.h #ifndef _LINUX_CTYPE_H #define _LINUX_CTYPE_H#define _U 0x01 /* upper */ //大写字母 #define _L 0x02 /* lower */ //小写字母 #define _D 0x04 /* digit */ //数字 #define _C 0x08 /* cntrl */ //控制按键 #define _P 0x10 …

AaronYang WCF教程目录

原创,讲究实践 1. 那天有个小孩教我WCF[一][1/3] 基本搭建 阅读 2013年6月27日1:29:02 2. 那天有个小孩教我WCF[一][2/3] 基本竣工 阅读 2013年6月29日01:30:22 3. 那天有个小孩教我WCF[一][3/3] 第二种代理引用服务,小…

plsql中文乱码 显示问号

输入sql语句select * from V$NLS_PARAMETERS查看字符集,查看第一行value值是否为简体中文 解决方案: 新增环境变量 变量名: NLS_LANG 变量值: SIMPLIFIED CHINESE_CHINA.ZHS16GBK 重启PL/SQL 解决 转载于:https://www.cnblogs.com/tonyzt/p/1…

第二阶段团队绩效评分

第二阶段评分结果: 转载于:https://www.cnblogs.com/xczd/p/11068692.html

从最大似然到EM算法浅解(转载)

http://blog.csdn.net/zouxy09/article/details/8537620#comments转载于:https://www.cnblogs.com/zhihaowang/p/10128356.html

Shanghai Barcamp

早上起来晚了,晚睡晚起的习惯很不好!总是有段时间会养成这样的不好习惯,过一段时间又会早睡早起。总结的说,去了还是有不少收获的,而且刚好就在前一段时间看了不少关于vc和初期投资培养方面的知识,结果这次…

我的虚拟机上网记录

联网时把虚拟机设置成共享IP模式就可以。如果要通过NFS链接开发板就选择桥接网络

随堂小测冲刺.第19天

我们小组的logo出来的,太酷了,不符合我的审美,本人表示无法接受。。。 还要谢谢李泽宇的女盆友,O(∩_∩)O哈哈~ 转载于:https://www.cnblogs.com/daisy99lijing/p/11024465.html

对象存储系统Swift官方文档

对象存储系统Swift技术详解:综述与概念 OpenStack Object Storage (Swift) 是用来创建冗余的、可扩展的对象存储(引擎)的开源软件。通过阅读Swift的技术文档,我们可以理解其中的设计的原理和实现的方法 。 Swift项目已经进展有两年…

MSBuild编译扩展

新增一个C#工程&#xff0c;用记事本打开工程文件&#xff08;.csproj结尾&#xff09;&#xff0c;滚动条拉到最后&#xff0c;大家可以看到一段如下的代码&#xff0c;其中<Target Name"BeforeBuild">和<Target Name"AfterBuild">大家根据名…

电影bt

电影&#xff1a; http://www.bttiantang.com/

修改2440里面的FriendlyARM

修改2440里面的FriendlyARM 在/etc/init.d文件夹里面有一个rcS文件&#xff0c;修改/bin/hostname FriendlyARM中的FriendlyARM即可 比如修改为/bin/hostname Solar posted on 2011-12-07 17:22 Neddy11 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/Neddy…

vs2008 下编译jrtplib-3.9.0成功

网址:http://blog.csdn.net/jid_223/article/details/6858663 jrtplib-3.9.0的编译&#xff0c;终于搞通了。网上搜集了很多资料&#xff0c;自己也调试了很久。 首先&#xff0c;jrtplib-3.9.0是什么不用多说吧&#xff0c;它是一个很牛的老外用C写的一个开源的RTP协议库&…

Eclipse安装VJET报错解决办法

2019独角兽企业重金招聘Python工程师标准>>> Eclipse在安装JS编辑器插件VJET时可能会出现以下错误 Cannot complete the install because one or more required items could not be found. Software being installed: VJET Java Based Dom Kit (Incubation) 0.10.0…

读书笔记_《海蒂》

海蒂是一个可爱、善良的小菇凉&#xff0c;很真诚、纯净的孩子。一般形容人长得好&#xff0c;只会用漂亮这个词&#xff0c;而如果一个人内心更加美好&#xff0c;那么就会用美丽来形容。海蒂这就是这样一个美丽的女孩儿。我想就算是在那种朴素的环境下&#xff0c;也很难出现…

罐头瓶里面的电能表

生活中我们经常见到数字电能表&#xff0c;只不过下面这个是装在罐头里面的电能表&#xff0c; 此想法来自EnterJar&#xff0c;&#xff0c; 怎么样&#xff1f;直接把用电器接上就可以测出电子产品的电能状况&#xff0c;很方便把&#xff01; &#xff0c;原理很简单&#x…