我尝试使用raw_input()获取数字列表,但是使用代码
numbers = raw_input()
print len(numbers)
Run Code Online (Sandbox Code Playgroud)
输入[1,2,3]给出了结果7,所以我猜它将输入解释为是一个字符串.有没有直接的方法来制作清单?也许我可以re.findall用来提取整数,但如果可能的话,我宁愿使用更多的Pythonic解决方案.
我正在从一堆XML文件加载数据lxml.etree,但是我想在完成这个初始解析后关闭它们.目前,XML_FILES以下代码中的列表占用了程序的400 MiB已用内存的350 MiB.我试过del XML_FILES,del XML_FILES[:],XML_FILES = None,for etree in XML_FILES: etree = None,和几个,但这些都不似乎工作.我也在lxml文档中找不到关闭lxml文件的任何内容.这是解析的代码:
def open_xml_files():
return [etree.parse(filename) for filename in paths]
def load_location_data(xml_files):
location_data = {}
for xml_file in xml_files:
for city in xml_file.findall('City'):
code = city.findtext('CityCode')
name = city.findtext('CityName')
location_data['city'][code] = name
# [A few more like the one above]
return location_data
XML_FILES = utils.open_xml_files()
LOCATION_DATA = load_location_data(XML_FILES)
# XML_FILES never used again from this point on …Run Code Online (Sandbox Code Playgroud) 我正在尝试生成包含可以在特定区域设置中给出的日期的词典.例如,我可能希望我的函数在使用en_US作为参数调用时返回:
{'date': 'May 12, 2014', ...}
Run Code Online (Sandbox Code Playgroud)
这个,当用hu_HU调用时:
{'date': '2014. május 12.', ...}
Run Code Online (Sandbox Code Playgroud)
现在,根据我到目前为止发现的内容,我应该使用locale.setlocale()设置我想要使用的语言环境,并locale.nl_langinfo(locale.D_FMT)获得适当的日期格式.我可以locale.resetlocale()在此之后调用以返回之前使用的那个,但我的程序使用多个线程,并且我认为其他的也会受到这个临时区域设置更改的影响.
我想在由 Flask 提供支持的网站上使用循环视频。显然,Chrome 不会循环播放视频,除非它是通过返回的 HTTP 206 代码流式传输的。然而,Flask 总是返回带有 HTTP 200 的静态文件。如何从我的 Flask 项目(托管在 Heroku 上,作为记录)流式传输静态内容以使视频在 Chrome 中正确循环?