练习题作者:Vamei 出处:http://www.cnblogs.com/vamei
 

【实现】
 
#!/usr/bin/python
# -*-coding:utf-8-*-
 
#-------计算日期差
'''
import datetime
from datetime import date
d1=date(2008,1,1)
d2=date(2008,10,1)
t=abs(d2-d1)
n=t.days+1
print n
 
#----判断2008是否为闰年
def leapyear(year):  #判断year是否为闰年,ture为闰年,false为非闰年
    years=year*1
    if(years%100): ##不能整除100进入条件语句
        return not(years%4) #能整除4返回ture,不能整除4,返回false
    else:        ##能整除100
        return not(years%400)  #能整除4返回ture,不能整除4,返回false
 
 
#a=leapyear(2000)
#print(leapyear(2000),leapyear(2008),leapyear(1900),leapyear(1833))
'''
##----文件处理
# 主要用的list的index和读取字符串split/strip及index读取;另外可以使用zip将名字、年龄、分数组成元祖列表然后使用for(a,b)in s.numerate 读取满足条件类型的index再读取需要输出类型
#因为需要更正错误的地方所有需要打开两次该文件,一份用来读取,一份用来重写,故需要注意不需要更正的行+跳过的地方写入原内容
import os,sys
#import linecache
reload(sys)
sys.setdefaultencoding('utf-8')
 
filepath='E:\记录.txt'.decode('utf-8').encode('GB2312')  ##打开windows中文路径解析
 
with open(filepath, 'r+') as f1:
    f1.seek(0)
    l = f1.readlines()
 
with open(filepath, 'w+') as f:
    sum=0
    n=0
    a=0
    f.seek(0)  ##读取文件时光标位置重新回到头部,否则容易读到空
    print 'the all contents is:\n',f.read()
    f.seek(0)
    for line in l:
        if (line.isspace()):  ##处理文件为空行的数据
            line=line
            f.write(line)
            continue
        if (line[0]=='#'):  ##忽略带#开头的行   或者使用 if(not line.startswith('#'))
            line=line
            f.write(line)
            continue
        a=a+1
        l1=line.split(',')
        l1[2] = l1[2].strip('\n')#去除尾部的\n
 
        if (l1[2]*1<60):
            print 'whose score is lower than 60:',l1[0]
 
 
        if(l1[0][0]=='L'):
            print 'whose name begins with L:', l1[0]
 
        sum = sum + int(l1[2])
 
        if(not l1[0].istitle()):
            n=n+1
            line=line.capitalize()
        f.write(line)
 
print'the totalscore is', sum
print'the name in the file is all title:',(n==0)
 

python练习题及实现--文件处理、date日期的更多相关文章

  1. Python练习题 004:判断某日期是该年的第几天

    [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...

  2. python自动更新pom文件

    前言 项目越来越多,版本管理越来越麻烦,在项目上我使用 maven version 来进行版本管理.主要还是在分布式项目中模块众多的场景中使用,毕竟各个模块对外的版本需要保持统一. 关于这个插件如何使 ...

  3. 为什么你SQL Server的数据库文件的Date modified没有变化呢?

    在SQL Server数据库中,数据文件与事务日志文件的修改日期(Date Modified)是会变化的,但是有时候你会发现你的数据文件或日志文件的修改日期(Date Modified)几个月甚至是半 ...

  4. python批量处理excel文件数据

    https://www.zhihu.com/question/39299070?sort=created 作者:水中柳影链接:https://www.zhihu.com/question/392990 ...

  5. 关于MySQL中使用LOAD DATA INFILE导入csv文件时的日期格式问题

    在使用MySQL时,常常会用到Load Data Infile来导入数据,在遇到Date类型的列时,有时会遇到格式转换的问题: 首先创建一张简单的people表,包含名字,生日,年龄三个字段: mys ...

  6. Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块

    Python第五天   文件访问    for循环访问文件    while循环访问文件   字符串的startswith函数和split函数  linecache模块 目录 Pycharm使用技巧( ...

  7. python第六篇文件处理类型

    阅读目录 一 文件操作 二 打开文件的模式 三 操作文件的方法 四 文件内光标移动 五 文件的修改   文件处理                                             ...

  8. Python学习:7.文件操作

    文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文 ...

  9. python读取Excel表格文件

    python读取Excel表格文件,例如获取这个文件的数据 python读取Excel表格文件,需要如下步骤: 1.安装Excel读取数据的库-----xlrd 直接pip install xlrd安 ...

随机推荐

  1. bzoj1801 [Ahoi2009]中国象棋

    Description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国像棋中炮的行走方式大家应该很清楚吧. Input 一行包含两个整数N, ...

  2. 进程—内存描述符(mm_struct)

    http://blog.csdn.net/qq_26768741/article/details/54375524 前言 上一篇我们谈论了task_struct这个结构体,它被叫做进程描述符,内部成员 ...

  3. 问题 A: E2 驾驭const

    题目描述 引入了const关键词,用于指定“常”对象及“常”对象成员,提供了对数据的一种保护机制,这C++语言的特色之一.但由此,也引出了一些语法上的要求.这些语法要求,实际上有一套完善的原则,需要熟 ...

  4. 2017.11.24 算法分析与设计------Gay格雷码

    1. 格雷码问题: 对于给定的正整数n,格雷码为满足如下条件的一个编码序列: (1) 序列由2n个编码组成,每个编码都是长度为n的二进制位串. (2) 序列中无相同的编码. (3) 序列中位置相邻的两 ...

  5. miller——rabin

    突然发现自己在线性筛素数中有这个,忘了好久: #include<iostream> #include<cstdio> using namespace std; long lon ...

  6. printf、sprintf与fprintf 的用法区分

    原文链接 1: fprintf()#include <stdio.h> int fprintf( FILE *stream, const char *format, ... );fprin ...

  7. Shell编程学习之Shell编程基础(一)

    这篇随笔将要介绍关于Shell编程的基本知识,这些将会在假设你已经熟悉了Linux系统和命令行的基本知识. 构建基本脚本 你应该了解或熟悉使用Shell命令行了,但是只是使用Shell命令行的命令,有 ...

  8. YSlow的安装与说明文档

    yslow官网 http://yslow.org/ 很明显起这个名字是说why slow 为什么这么慢,理所当然是为当前网页进行检测 借百度的 什么是YSlow? YSlow是yahoo发布的一款基于 ...

  9. 第一个AngularJS控制器

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  10. 关于package.json学习

    1.如果要下载npm包,必须有package.json文件,不然会报错,如果缺少必要字符报错,参考报错信息 2.license,指定用户权限,可以不写,不会报错 3.devDependencies,依 ...