将嵌套列表中的整数输出到文本文件中的字符串

时间:2016-03-14 06:09:34

标签: python list file python-3.x nested

所以我目前在我的程序结束时有这个代码,允许用户保存文本文件。我不知道如何将数据转换为字符串,如果我尝试使用此代码,那就是错误。

save = input("Would you like to save the latest generation? ('y' to save):")
if save == 'y':
    destination = input("enter destination file name:")
    with open(destination, 'w') as file:
        file.writelines('\t'.join(i) + '\n' for i in original_graph)
else:
    print("End of program.")

但是,我的original_graph是一个只包含整数值的嵌套列表,例如:[0,1,1,0],[0,0,0,1],[0,0,1,0]

如何使文本文件看起来像

0110 0001 0010

保存后,在文本文件中

?另外,有没有办法提示用户是否覆盖现有文件?

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

写这个的简洁方法是使用列表推导。为方便起见,我将stdout用作输出文件。

import sys

original_graph = [
    [0, 1, 1, 0],
    [0, 0, 0, 1],
    [0, 0, 1, 0],
]

f = sys.stdout
rows = [''.join([str(u) for u in row]) for row in original_graph]
f.write('\n'.join(rows) + '\n')

<强>输出

0110
0001
0010

要将数据保存到名称为destination中存储的字符串的文件,只需执行以下操作:

rows = [''.join([str(u) for u in row]) for row in original_graph]
with open(destination, 'w') as f:
    f.write('\n'.join(rows) + '\n')

要检查文件是否已存在,请使用os.path.exists功能。如果您在这方面需要进一步的帮助,请提出一个新问题。 Stack Overflow问题应包含一个问题,以便最大限度地提高其对未来读者的实用性。

答案 1 :(得分:0)

请检查此作品

jQuery(window).ready(function($){
    if ( $.isFunction($.fn.Instafeed ) ) {
        var feed = new Instafeed({
            get: 'user',
            target : "instagram-feeds,
            limit : 3,
            userId: userid,
            accessToken : accesstoken
        });
        feed.run();
}
});