在Python中生成一个当前时间名称的文本文件

时间:2016-02-17 00:26:08

标签: python python-2.7

我在Windows 8 bit-64上使用Python v2.x。

问题是,我无法生成一个名为实时的txt文件。

请参阅我现在的代码:

import sys
import datetime

def write():

    # try:
        currentTime = str(datetime.datetime.now())
        print currentTime #output: 2016-02-16 16:25:02.992000
        file = open(("c:\\", currentTime, ".txt"),'a')   # Problem happens here
        print >>file, "test"
        file.close()

我尝试了不同的方法修改行文件= open((“c:\ ....))但无法创建文本文件,如2016-02-16 16:25:02.992000.txt

请问任何建议?

2 个答案:

答案 0 :(得分:6)

在Windows中,:是文件名中的非法字符。您永远不能创建名称为16:25:02的文件。

此外,您将一个元组而不是一个字符串传递给open

试试这个:

    currentTime = currentTime.replace(':', '_')
    file = open("c:\\" + currentTime + ".txt",'a')

答案 1 :(得分:-2)

这是编写代码的更有效方法。

import sys
import datetime

def write():
        currentTime = str(datetime.datetime.now())
        currentTime = currentTime.replace(':', '_')
        with open("c:\\{0}.txt".format(currentTime), 'a') as f:
             f.write("test")