我正在尝试为一年中的每一天创建一个文件,因此1月份为31,2月份为28,依此类推,但由于这是一项学校工作,我也无法使用长代码,因此这是一个聪明的方法这样做会很好。在他们的时刻,我正在尝试这个(下面),但它说我不能使用列表作为范围对象
def MonthList():
lenghtOnMonthList = [32,29,32,31,32,31,32,32,31,32,31,32]
return lenghtOnMonthList
def CreateFile(lenghtOnMonthList):
for month in range(1,13):
if month < 10:
month = "0" + str(month)
day = 1
for day in range(1,lenghtOnMonthList):
if day < 10:
day = "0" + str(day)
file = open(str(month) + str(day)+'.txt', "a")
day = int(day)
day += 1
基本上我想把每个文件命名为0101,第一个是0101,第二个是0102,一直到1231 和ocfourse跳过0229(因为我在2月份使用28天)
但是为什么我不能用我的清单来表明第一个月做32天(因为它给31个)而第二个月做29天?
提前致谢// Kasper
答案 0 :(得分:5)
可能解决问题的小代码
from calendar import monthrange
import os
for i in range(1,13):
x=monthrange(2014,i)
for j in range(1,x[1]+1):
cmd="%02d%02d" % (i,j)
os.system("touch " + str(cmd))
在基于unix的系统中使用触摸命令来创建文件。 如果您使用的是Windows系统,则可以使用python的子进程模块。 如果您想使用子流程模块
,请查看https://docs.python.org/2/library/subprocess.html