Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python dateutil unicode警告_Python_Twitter_Unicode_Python Dateutil - Fatal编程技术网

python dateutil unicode警告

python dateutil unicode警告,python,twitter,unicode,python-dateutil,Python,Twitter,Unicode,Python Dateutil,我正在使用sixohsix库解析来自Twitter API的一些推特数据。我正在尝试将tweet的日期转换为我的区域设置: from pytz import timezone from dateutil import parser timestamp = parser.parse(tweet["created_at"]) timestamp_arg = timestamp.astimezone(timezone('America/Buenos_Aires')) 我收到一个unicode警告:

我正在使用sixohsix库解析来自Twitter API的一些推特数据。我正在尝试将tweet的日期转换为我的区域设置:

from pytz import timezone
from dateutil import parser

timestamp = parser.parse(tweet["created_at"])
timestamp_arg = timestamp.astimezone(timezone('America/Buenos_Aires'))
我收到一个unicode警告:

dateutil\parser.py:339:UnicodeWarning:Unicode相等比较 未能将两个参数转换为Unicode-将它们解释为 elif res.tzname和res.tzname在time.tzname中不相等:

我试过了

parser.parse(str(tweet["created_at"]))
parser.parse(unicode(tweet["created_at"]).encode())
但一切都没有改变

除了警告之外,似乎什么也没有打破。 有人知道为什么会发生这种情况,以及如何解决它吗

谢谢

更新: 我也尝试过同样的例子,但硬编码的时间字符串和工作没有警告。另外,根据警告消息,在执行以下操作时,问题似乎发生在parse调用中parser.py:339

res.tzname in time.tzname

可能是因为res是unicode而time.tzname不是???

这是dateutil(从版本2.2开始)中未解决的错误,仅在Windows上出现:

Dateutil仍将正常运行,除非您尝试使用非ascii字符解析时区。我想这很不寻常,所以你应该没事

最简单的解决方法可能只是消除错误

import warnings
warnings.filterwarnings("ignore", category=UnicodeWarning)

在提出问题18个月后和回答问题15个月后,我们可能已经解决了此错误:
因此,当前的解决方案是升级到
dateutil
的开发版本或
>=2.5.0

的任何版本。您可以发布整个堆栈跟踪吗?哪一行失败了?此外,您得到的错误可能表明使用
u'America/BuenosúAires'
在结尾处
encode()
不太可能有任何帮助,因为警告显然已经在您走到这一步之前发生了。一般来说,在没有编码的东西上调用
str
unicode
是一个非常糟糕的主意,尤其是来自互联网的东西,因此可能会使用与系统默认编码不同的编码。此外,如果您问到有关第三方库(如
dateutil
)的问题,这个版本通常值得一提。尤其是最近移植到dual-2.x/3.x兼容代码的库,很容易在第二天修复的版本中出现错误。因此@goncalopp不确定如何做到这一点,因为没有异常或“崩溃”,只是警告和脚本一直在运行。dateutil版本是2.2(今天安装)。您好。这个错误仍然存在于windows上,dateutil版本是v2.5.3。v2.6.0仍然抛出Unicoderning。。。。elif res.tzname和res.tzname in time.tzname