python代码strftime("%s")错误

时间:2017-01-12 07:59:00

标签: python

python程序如下,它出错了:

  

文件" C:\ Python \ PyCharmProject \ FaceBookCrawl \ group_download.py",第31行,在getFeed中       params + ="& since =" + SINCE.strftime("%s")   
ValueError:格式字符串无效

程序似乎SINCE.strftime("%s")错了,如何解决呢?

SINCE = datetime.datetime.now() - datetime.timedelta(DAYS)

params = "?fields=permalink_url,from,story,type,message,link,created_time,updated_time,likes.limit(0).summary(total_count),comments.limit(0).summary(total_count)"

#Default paging limit
params += "&amp&limit=" + DEFAULT_LIMIT

#Time-based limit
params += "&since=" + SINCE.strftime("%s")
graph_url = GRAPH_URL_PREFIX + group + "/feed" + params

2 个答案:

答案 0 :(得分:1)

实际上,它应该是大写S:

params += "&since=" + SINCE.strftime("%S")
                                           ^

答案 1 :(得分:0)

  

ValueError:格式字符串无效

您使用了错误的格式化程序,即它必须是大写字母' S' - 这是约会时间的strftime reference

  

UnicodeEncodeError:' locale'编解码器不能对字符' \ uff33'进行编码。在   位置1:非法字节序列

\ uff33基本上是full width latin letter' S' - 您编辑的那个以摆脱之前的ValueError

<强>解决方案/方法奏

1. Use raw string即在字符串前加上&#39; r&#39;

params = r"?fields=permalink_url,from,story,type,message,link,created_time,updated_time,likes.limit(0).summary(total_count),comments.limit(0).summary(total_count)"

2.如果您使用str()将unicode转换为编码文本/字节 - 而是使用.encode()对字符串进行编码。 A helpful SO thread