如何从外部文件加载 pelilcanconf.py 中的列表
How to load lists in pelilcanconf.py from external file
pelicanconf.py 中有不同的列表可用,例如
SOCIAL = (('Facebook','www.facebook.com'),)
LINKS =
等
我想通过从可独立编辑的外部文件加载这些值来管理这些内容并创建我自己的列表。我尝试使用 python 将数据导入为文本文件,但它不起作用。还有其他办法吗?
究竟是什么不起作用?你能提供代码吗?
您可以在 pelicanconf.py
中执行任意 python 代码。
非常简单的 CSV 示例 reader:
# in pelicanconf.py
def fn_to_list(fn):
with open(fn, 'r') as res:
return tuple(map(lambda line: tuple(line[:-1].split(';')), res.readlines()))
print(fn_to_list("data"))
CSV 文件 data
:
A;1
B;2
C;3
D;4
E;5
F;6
当 运行 pelican
时,这会产生以下结果:
# ...
((u'A', u'1'), (u'B', u'2'), (u'C', u'3'), (u'D', u'4'), (u'E', u'5'), (u'F', u'6'))
# ...
除了打印之外,您还可以将此列表分配给一个变量,比如 LINKS
。
pelicanconf.py 中有不同的列表可用,例如
SOCIAL = (('Facebook','www.facebook.com'),)
LINKS =
等
我想通过从可独立编辑的外部文件加载这些值来管理这些内容并创建我自己的列表。我尝试使用 python 将数据导入为文本文件,但它不起作用。还有其他办法吗?
究竟是什么不起作用?你能提供代码吗?
您可以在 pelicanconf.py
中执行任意 python 代码。
非常简单的 CSV 示例 reader:
# in pelicanconf.py
def fn_to_list(fn):
with open(fn, 'r') as res:
return tuple(map(lambda line: tuple(line[:-1].split(';')), res.readlines()))
print(fn_to_list("data"))
CSV 文件 data
:
A;1
B;2
C;3
D;4
E;5
F;6
当 运行 pelican
时,这会产生以下结果:
# ...
((u'A', u'1'), (u'B', u'2'), (u'C', u'3'), (u'D', u'4'), (u'E', u'5'), (u'F', u'6'))
# ...
除了打印之外,您还可以将此列表分配给一个变量,比如 LINKS
。