1、文件操作的案例:

#文件操作的三种方式
#r = read 读取文件
#w = write 写入文件,覆盖掉
#a = append 追加写入,不会覆盖原有的内容
#读文件
f = open("E://wordcount//input//1.txt","r")
data = f.read()
print(data)#读文件 一行一行的读取
path = "E://wordcount//input//1.txt"
f = open(path,"r")
for line in f.readlines():print("------------->" + line)##覆盖写
path = "E://wordcount//input//1.txt"
f = open(path,"w",encoding="utf-8")
##这种方式写的时候,会吧别人的覆盖了。
f.write("I love my country")
f.close()##追加写
path = "E://wordcount//input//2.txt"
f = open(path,"a",encoding="utf-8")
#写一个分割
f.write("\n")
f.write("I love you two")
f.close()#python中的try,catch
#异常处理的格式
try:path = "E://wordcount//input//2.txt"f = open(path,"r",encoding="utf-8")for line in f.readlines():print(line)
finally:#不管怎样都关闭掉文件f.close()##异常处理的简单写法
with open(path,"r",encoding="utf-8") as f:for i in f.readlines():print("xxxx" + i)

2、Python中的操作时间

将date类型转化成固定的字符串
将字符串转化成date类型

#将date转换成字符串#使用datetime需要导入一个类库,下面是导入类型对的方式,导包的方式还是选中
#datetime,然后Alt + Enter键,选择合适的包
from datetime import datetime,timedelta
#获取当前时间
now = datetime.now()
print(now)#将事件转成成有格式类型的时间
str_time = now.strftime("%Y-%m-%d %H:%M:%S")
print(str_time)##将字符串转为Date类型
date = datetime.strptime("20170714 19:27:51","%Y%m%d %H:%M:%S")
print(date)#对日期进行修改
now = datetime.now()
#在现有的基础上加8个小时
now = now + timedelta(hours=8)
print(now)##加3天
now = now + timedelta(days=3)
print(now)#减3天
now = now + timedelta(days=-3)
print(now)
#减8小时
now = now + timedelta(hours=-8)
print(now)

运行结果:

3.collections增强

namedtuple:能够tuple的每个元素起个名字
基于tuple的扩展,tuple一旦被创建无法修改,获取tuple中的数据,只能通过角标值进行修改。

from collections import namedtupletuple = ("name","age","sex")
#通过角标值获取元素
tuple[0]#namedtuple,如果作为一个单独的数据结构,就是每个元素都有名称
#并且一旦创建,就无法修改。
Point = namedtuple("Point",["name","age","sex"])
p = Point("旺财","3","公")
print(p.name)

运行结果:

Deque:
相当于java中的linkedlist,特征:查询慢,删除修改快。

from collections import deque#linked的定义
linked_list = deque(["1","2","3","4"])
#获取linkedlist的元素 和删除元素
item = linked_list.pop()
print(linked_list)
item = linked_list.popleft()
print(item)
print(linked_list)
#添加元素,append默认在最后面添加4,appendLeft默认在最左边添加元素
linked_list.append("4")
linked_list.appendleft("1")
print(linked_list)

运行结果:

deque(['1', '2', '3'])
1
deque(['2', '3'])
deque(['1', '2', '3', '4'])

4 OrderedDict

from collections import OrderedDict
#orderdict 按照插入的顺序排序
map = OrderedDict([("key1",3),("key2",2),("key0",1)])
for item in map.items():print(item)

运行结果:

('key1', 3)
('key2', 2)
('key0', 1)
from collections import Counter
#计数器,计算每个字符出现的次数
#单词计算
counter = Counter()
str = "dasetgerfa"
for ch in str:counter[ch] = counter[ch] + 1
print(counter)

运行结果是:

Counter({'a': 2, 'e': 2, 'd': 1, 's': 1, 't': 1, 'g': 1, 'r': 1, 'f': 1})

上面实现的逻辑相当于是:

map = dict()
str = "hello"
for ch in str:value = map.get(ch)if value == None:map[ch] = 1else:value += 1map[ch] = value
print(map)

Python文件操作,时间日期操作,collections增强,Deque(类似java的LinkedList),OrderedDict,Counter相关推荐

  1. Java 时间日期操作

    Java 时间日期操作 文章目录 Java 时间日期操作 LocalDate LocalTime LocalDateTime 时间 日期时间 时区 ZoneId ZonedDateTime Zoned ...

  2. NewFileTime批量修改文件的时间日期

    我们打开电脑中的文件,电脑会自动记录文件的创建日期.修改日期.访问日期.可如果自己并不想别人知道文件的操作时间日期,那该怎么办呢?其实,我们可以用NewFileTime批量修改文件时间日期,考虑到很多 ...

  3. Python获取当前时间日期

    Python获取当前时间日期 Python获取当前时间日期 一.时间日期基本介绍 二.时间日期类型–time模块 2.1 获取当前时间戳 2.2 将时间戳转化为标准时间日期格式 2.3 格式化时间 三 ...

  4. python怎么读写文件-一文看懂Python文件的读取写入操作,建议收藏-bak文件怎么打开...

    文件的读取写入操作 读取文件read() 假设我们有一个与操作文件同级的1.txt文档with open('pi_digits.txt') as file_object: contents = fil ...

  5. javascript时间日期操作

    Js获取当前日期时间及其它操作 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear(); ...

  6. java比较日期字符串大小写_java 字符串操作和日期操作

    一.字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; ...

  7. java date 操作_java日期操作-java Date-java Calendar-嗨客网

    Java日期操作类教程 在生产开发过程中,会用到和时间相关的信息,所以 JavaDate类 说明 Date 类是定义时间对象的一个类,它是一个较为简单的操作类. 案例 package com.haic ...

  8. kindeditor 4 指定生成文件的时间日期/动态获取My97的时间

    最近后台要求要指定上传附件的时间日期,编辑器是kindeditor,仔细研究后发现可以借助clickToolbar事件,传递时间到后台,但是中途发现传递的时间总是初始化my97的时间,改变后的时间只有 ...

  9. python linux 时间格式化,Python中的时间日期转换

    Python关于时间日期有两个库datetime和time,于是我们要在四种格式之间转换: datetime.datetime对象 datetime.datetime.now() time.struc ...

最新文章

  1. mysql 多主多从配置,自增id解决方案
  2. mysql 外链接 后面的on_mysql数据库中关于内连接、外链接中on where having的用法。(转载)...
  3. java虚拟机内存空间
  4. Java刷漆问题代码_Java实现蓝桥杯历届试题格子刷油漆
  5. 最优化作业02—一维最优化方法
  6. ODP 使用 ArrayBind 时可能会遇到的巨坑 'System.IConvertible' 的解决方法
  7. Python风格总结:元组tuple
  8. 无法打开包括文件: “QTcpSocket”: No such file or directory
  9. Brightest Immaculate Teresa(简单题)(北理16校赛)
  10. UG NX二次开发(C#)-UI Styler-批量选择点
  11. win10系统ipv6服务器地址,win10系统设置ipV6地址的处理办法
  12. 从卫星影像上追踪腾格里沙漠排污事件
  13. python3实现sm2加密和签名
  14. c语言证自考免计算机应用,自考证书有哪些?可以免考什么课程?
  15. 分享百度文库推广技巧分享
  16. Windows Server+IIS+ASP+MSSQL2K+ServU 系统整合安全方案(转)
  17. c++模板函数声明定义分离编译错误详解
  18. 微信小程序(一):微信小程序申请注册与开发流程
  19. 关于Maven(mvn)的简单学习
  20. 一键飞行模式 android,android开发之快速设置,一键wifi开闭,移动网络开闭,电池设置,飞行模式,...

热门文章

  1. 一文带你了解隐马尔科夫模型
  2. MyBatis逆向工程自动生成代码(附数据库表结构)
  3. OpenCASCADE:网格
  4. Boost.Signals2 的多槽 hello world 示例
  5. boost::phoenix模块使用 BLL 和 boost::function 进行测试
  6. boost::mp11::mp_or相关用法的测试程序
  7. boost::coroutine2模块实现layout的测试程序
  8. DICOM:适用范围
  9. VTK:Utilities之SparseArray
  10. VTK:PolyData之MergeSelections