python一天一题(1)
#有一个文件,文件名为output_1981.10.21.txt 。
# 下面使用Python: 读取文件名中的日期时间信息,并找出这一天是周几。
# 将文件改名为output_YYYY-MM-DD-W.txt
# (YYYY:四位的年,MM:两位的月份,DD:两位的日,W:一位的周几,并假设周一为一周第一天) '''
解题 思路:
1、获取文件名,截取日期 ,生成日期变量参数 '''
import os,re
import time,datetime
class hello:
def __init__(self):
print('求文件名,取出日期,算出1年中哪一天,更改文件名')
def get_date(self,filename):
(filepath,tempfilename) = os.path.split(filename)#将文件名和路径分割开。
(shotname,extension ) = os.path.splitext(tempfilename)#分离文件名与扩展名
dateStr = re.split('_',shotname)[1]
date = re.split('[.]',dateStr)
return date
#给个时间 ,找出这一天是1年中的哪一天
'''
解题 思路:
一年12个月的天数弄成一个list,只有2月份不确认,闰年28天,非闰年29天,得出2月份天数。
求前面几个月的天数之和+当月天数,就是当当年第几天
'''
def which_day(self):
num = 0
date_list = self.get_date('D:\python\learn\output_1981.10.21.txt')
year =int( date_list[0])
month = int(date_list[1])
day = int(date_list[2])
sum = 0
#计算2月份的天数
if(year%4==0):
num = 28
elif(year%400==0):
num = 28
else:
num =29
month_list = [31, num, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
for i in range(0,month-1):
sum +=month_list[i]
#第几天
sum +=day
return sum,year,month,day #获取当前系统时间 年月日 周
def get_now_time(self):
now = time.localtime()
weekday = time.strftime('%w',now)
year = datetime.datetime.now().year
month = datetime.datetime.now().month
day = datetime.datetime.now().day
return year,month,day,weekday def modify_filename(self,filename,newname):
filepath,tempfilename = os.path.split(filename)
print(filepath)
print(tempfilename)
os.rename(filepath+'\\'+tempfilename,filepath+'\\'+newname)
print('修改成功!') fo = hello()
sum,year,month,day = fo.which_day()
print(year,'年',month,'月',day,'日是一年中的第',sum,'天')
#修改文件名称
(year1,month1,day1,weekday1) = fo.get_now_time()
print(type(year1))
newname = 'output_'+str(year1)+'-'+str(month1)+'-'+str(day1)+'-'+str(weekday1)+'.txt'
fo.modify_filename(r'D:\python\learn\output_1981.10.21.txt',newname)
python一天一题(1)的更多相关文章
- python一天一题(3)
#--coding=utf8-- from selenium import webdriver import time import logging import os.path ''' 搜索取搜索的 ...
- python一天一题(2)
python查询mysql数据库 import pymysql host = '192.168.74.5' user = 'root' passwd ='root' port = 3310 db = ...
- Android面试一天一题(1Day)
写在前面 该博客思路源于在简书看到goeasyway博主写的Android面试一天一题系列,无copy之意,仅为让自己总结知识点,成长一点点.先感谢各位大神的无私分享~! 关于题目,大部分则出自And ...
- Python面试真题答案或案例
Python面试真题答案或案例如下: 请等待. #coding=utf-8 #1.一行代码实现1--100之和 print(sum(range(1,101))) #2.如何在一个函数内部修改全局变量 ...
- Python基础数据类型题
Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...
- 『Python题库 - 填空题』151道Python笔试填空题
『Python题库 - 填空题』Python笔试填空题 part 1. Python语言概述和Python开发环境配置 part 2. Python语言基本语法元素(变量,基本数据类型, 基础运算) ...
- Python练习100题
Python练习100题 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #Filename:001.py cnt = 0#count the sum of res ...
- 21天学通Python课后实验题4.6
21天学通Python课后实验题4.6 1. 编程实现用户输入一门课程的两门子课程成绩,第一门子课程60分以上,则显示“通过”,第一门子课程不及格,则显示“未通过”,第一门子课程及格,而第二门子课程不 ...
- Python语言上机题实现方法(持续更新...)
Python语言上机题实现方法(持续更新...) 1.[字符串循环左移]给定一个字符串S,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a'.'b' ...
随机推荐
- Golang IO包的妙用
Golang 标准库对 IO 的抽象非常精巧,各个组件可以随意组合,可以作为接口设计的典范.这篇文章结合一个实际的例子来和大家分享一下. 背景 以一个RPC的协议包来说,每个包有如下结构 type P ...
- 自动化运维工具SaltStack详细部署
==========================================================================================一.基础介绍==== ...
- 【小白的CFD之旅】小结及预告
这是小白系列的索引,后续会继续更新. 已更新的部分 01 引子02 江小白03 老蓝04 任务05 补充基础06 流体力学基础07 CFD常识08 CFD速成之道09 初识FLUENT10 敲门实例1 ...
- CCImage
#ifndef __CC_IMAGE_H__ #define __CC_IMAGE_H__ //派生于CCObject #include "cocoa/CCObject.h" // ...
- linux命令(38):split 分割文件
在Linux下用split进行文件分割: 模式一:指定分割后文件行数 对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割. 命令: split -l 300 large_file.txt ...
- 搭建kafka源码开发环境时使用"gradle idea"命令构建源码失败
我的环境: JDK: 1.8.0_131 Gradle: Gradle 3.1 Kafka源码包: kafka-0.10.0.1-src.tgz Zookeeper安装包: zookeeper-3.4 ...
- javascript检测浏览器的缩放状态实现代码 是指浏览器网页内容的百分比缩放(按Ctrl和+号键或者-号键的缩放)
这里所说的缩放不是指浏览器大小的缩放,而是指浏览器网页内容的百分比缩放(按Ctrl和+号键或者-号键的缩放).检测这种缩放有很种方法,QQ空间都通过flash来检测浏览器是否处于缩放.这里提供java ...
- img的src不连接本地地址实现输出一个图片(使用base64)
<img alt="100%x180" data-src="holder.js/100%x180" style="height: 180px; ...
- 应对新型“蠕虫”式比特币勒索软件“wannacry”的紧急措施
1.防火墙屏蔽445端口 命令行操作: 以管理员打开命令行执行以下命令 netsh firewall set opmode enable netsh advfirewall firewall add ...
- 设计模式之策略模式(iOS开发,代码用Objective-C展示)
在实际开发过程中,app需求都是由产品那边给出,往往是他给出第一版功能,我们写好代码后,会相应的给出第二版.第三版功能,而这些功能是在实际使用中,根据用户需求而不断增加的.如果在编码之初,我们并未认识 ...