【发布时间】:2015-02-04 02:35:28
【问题描述】:
我正在尝试编写一个脚本来找出当前日期和时间,然后创建一个基于此名称的文件夹。 当我尝试运行我的代码时出现此错误:
TypeError: %d 格式:需要一个数字,而不是 getset_descriptor
这是我的代码:
import os
import time
#import RPi.GPIO as GPIO
import logging
import sys
from datetime import datetime
d = datetime
initYear = "%04d" % (d.year)
initMonth = "%02d" % (d.month)
initDate = "%02d" % (d.day)
initHour = "%02d" % (d.hour)
initMins = "%02d" % (d.minute)ion where you wish to save files. Set to HOME as default.
# If you run a local web server on Apache you could set this to /var/www/ to make them
# accessible via web browser.
folderToSave = "/home/timelapse/timelapse_" + str(initYear) + str(initMonth) + str(initDate) + str(initHour) + str(initMins)
#os.mkdir(folderToSave)
# Set the initial serial for saved images to 1
fileSerial = 1
a = 'timefile'
# Run a WHILE Loop of infinity
while True:
if os.path.isfile(a) == False:
# Set FileSerialNumber to 000X using four digits
fileSerialNumber = "%04d" % (fileSerial)
# Capture the CURRENT time (not start time as set above) to insert into each capture image filename
hour = "%02d" % (d.hour)
mins = "%02d" % (d.minute)
# Define the size of the image you wish to capture.
imgWidth = 800 # Max = 2592
imgHeight = 600 # Max = 1944
print " ====================================== Saving file at " + hour + ":" + mins
# Capture the image using raspistill. Set to capture with added sharpening, auto white balance and average metering mode
# Change these settings where you see fit and to suit the conditions you are using the camera in
os.system("raspistill -w " + str(imgWidth) + " -h " + str(imgHeight) + " -o " + str(folderToSave) + "/" + str(fileSerialNumber) + "_" + str(hour) + str(mins) + ".jpg -sh 40 -awb auto -mm average -v")
# Increment the fileSerial
fileSerial += 1
# Wait 10 minutes before next capture
time.sleep(600)
else:
os.remove(time.txt)
os.system("sudo shutdown -h -P now")
break
print "Quitting now."
sys.exit(0)
我认为这里的代码有错误:
initYear = "%04d"
错误似乎与“%04d”部分有关。任何建议或帮助将不胜感激。提前致谢。
【问题讨论】:
-
你把什么放入这个格式字符串?占位符规范不是问题。
-
这不是你的错误所在。请提供回溯。
-
@MartijnPieters 我确实从“%04d”位的末尾删除了“% (d.year)”,希望它能起作用,但没有帮助。
-
@Gerrat 这是回溯:回溯(最近一次调用最后一次):文件“prog.py”,第 28 行,在
类型错误:%d 格式:需要一个数字,而不是 getset_descriptor -
@TomD:
d.year是一个描述符,因为d是对datetime类型的引用。
标签: python python-2.7 datetime syntax-error typeerror