使用Jinja2,如何格式化日期字段?我知道在Python中我可以简单地这样做:
print(car.date_of_manufacture.strftime('%Y-%m-%d'))
Run Code Online (Sandbox Code Playgroud)
但是如何在Jinja2中格式化日期?谢谢.
我有一些代码读取名称文件并创建一个列表:
names_list = open("names", "r").read().splitlines()
Run Code Online (Sandbox Code Playgroud)
每个名称都用换行符分隔,如下所示:
Allman
Atkinson
Behlendorf
Run Code Online (Sandbox Code Playgroud)
我想忽略任何只包含空格的行.我知道我可以通过创建循环并检查我读取的每一行然后将其添加到列表(如果它不是空白)来完成此操作.
我只是想知道是否有更多的Pythonic方式呢?
我有一个在Linux上运行的Python应用程序.它每分钟都来自cron.它检查一个目录中的文件,如果找到一个它处理它 - 这可能需要几分钟.我不希望下一个cron作业拿起当前正在处理的文件,所以我使用下面调用portalocker的代码将其锁定.问题是它似乎不起作用.下一个cron作业设法为文件返回所有准备好处理的文件句柄.
def open_and_lock(full_filename):
file_handle = open(full_filename, 'r')
try:
portalocker.lock(file_handle, portalocker.LOCK_EX
| portalocker.LOCK_NB)
return file_handle
except IOError:
sys.exit(-1)
Run Code Online (Sandbox Code Playgroud)
任何想法我可以做什么来锁定文件所以没有其他进程可以得到它?
UPDATE
感谢@Winston Ewert我检查了代码,发现文件句柄在处理完成之前已经关闭了.它现在似乎正在工作,除了portalocker.lock上的第二个进程块,而不是抛出异常.
我正在从配置文件中读取电子邮件地址列表.地址可以用逗号或分号分隔 - 例如,
billg@microsoft.com,steve@apple.com, dhh@37signals.com
billg@microsoft.com;steve@apple.com; dhh@37signals.com
Run Code Online (Sandbox Code Playgroud)
我想摆脱电子邮件地址周围的任何空白.
我需要将它们放入这样的Python列表中:
['billg@microsoft.com', 'steve@apple.com', 'dhh@37signals.com']
Run Code Online (Sandbox Code Playgroud)
什么是最恐怖的方式呢?谢谢.