所以我目前在我的程序结束时有这个代码,允许用户保存文本文件。我不知道如何将数据转换为字符串,如果我尝试使用此代码,那就是错误。
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
?另外,有没有办法提示用户是否覆盖现有文件?
感谢您的时间。
答案 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();
}
});