尝试在一个月内为每天创建文件

时间:2014-05-02 11:26:05

标签: python list python-3.x range

我正在尝试为一年中的每一天创建一个文件,因此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

1 个答案:

答案 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