如何在gzip.open调用中调用日期

时间:2018-01-09 05:18:55

标签: python csv gzip glob

我想写一个脚本,我在其标题中打开一个带有'todays date'的gziped文件。

这是我到目前为止所做的:

todays_date = time.strftime("%Y%m%d") #format time as YYYYMMDD
nextpath = os.getcwd()
service_file = glob.glob(nextpath+"\\"+"shot_*_"+todays_date+"*_vice.gz")
input_file = glob.glob(nextpath+"\\"+"input_file.csv")

myData = gzip.open(service_file, 'rb') 
myFile = open(input_file, 'wb') with myFile:
    writer = csv.writer(myFile)
    writer.writerows(myData)

当我写完整条道路时,这是有效的:

myData = gzip.open(D:/Temp/shot_655_20180109121455_vice.gz
myFile = open(D:/Temp/input_file.csv, 'wb') with myFile:

但是因为我试图改变它以使日期变量可变,我得到错误:

SyntaxError: invalid syntax

我知道我在某种程度上错误地调用它但是我被困住了,任何帮助都会受到赞赏。 感谢

1 个答案:

答案 0 :(得分:1)

您正在使用' open'不正确。它应该是这样的:

with open(my_file, 'r') as mf:
    # do stuff here
通过这种方式,您不必担心以后关闭它。否则,您只需将open()的结果赋给变量:

mf = open(my_file, 'r')
....
mf.close()

这是指向文档的链接,其中包含更多信息https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files