首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为文件编写一个很长的列表(并赋值变量),而不存在文本包装问题。

为文件编写一个很长的列表(并赋值变量),而不存在文本包装问题。
EN

Stack Overflow用户
提问于 2014-05-18 11:33:42
回答 2查看 187关注 0票数 0

我在python中创建了一个非常长的字符串列表,并希望在不遇到文本包装问题的情况下将其写入JavaScript文件。

此外,如果可以在python中自动执行,我希望将一个变量赋给这个列表。这应该由python来完成,但是变量应该存在于.js文件中。即添加代码,而不是字符串。

我所拥有的:

代码语言:javascript
复制
lList_x = []
list_name = open('path/to/list.js', 'w+')

#list creation...
lList_x.append(stuff)

simplejson.dump(lList_x, list_name)

list_name.close()

这将在list.js ["a","b","c","d",....]中创建列表。

这里的问题是,我正在创建的列表长在10 000到500 000字符之间,因此列表在每1024个字符之后被分割,这会破坏列表。这也在许多文本编辑器中呈现文件list.js只读。

因此,如何创建此列表,但将每个元素添加到新行?

在创建列表期间,我还希望在python中将一个变量自动分配给列表。这个是可能的吗?

所以我想要的是我的js文件:

代码语言:javascript
复制
window.lX = ["a",
"b",
"c",
...]

这能办到吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-18 11:38:14

按照文献资料,您可以设置indent=""使dump在不缩进的情况下跨越多行“漂亮打印”:

代码语言:javascript
复制
simplejson.dump(lList_x, list_name, indent="")

从医生那里:

如果indent是一个字符串,那么JSON数组元素和对象成员将被很好地打印出来,后面是换行符,然后是针对每个嵌套级别重复的字符串。

票数 2
EN

Stack Overflow用户

发布于 2014-05-18 11:40:31

手动构造列表如何:

代码语言:javascript
复制
list_name.write("window.lX = [\n")
for item in lList_x:
    print list_name.write(json.dumps(item), ",\n")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23721437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档