这里有一点问题:
尝试创建我自己的" Aplhabet",我想在我的.txt,.doc,.odt文档上应用它们来加密它们。
我想问一下,我怎样才能将.txt,.doc,.odt文件转换为字符列表,这样我就可以逐个为自己的字符串更改它们#34;字母"字符。 然后再将它们转换回来并保存起来。
我试图使用:
c = ('test.txt')
with open(c, 'w', encoding='utf-8') as a_file:
#Here I was trying writing the entry right into the code to be written into the file
a_file.write('Neco jineho napsaneho')
for i, v in enumerate(c):
c[i] = v.replace("N", "3")
with open(c, encoding='utf-8') as a_file:
print(a_file.read())
但是因为" c"是.txt文件,而不是列表,它可以工作,只是给我这个错误:
c[i] = v.replace("N", "5")
TypeError: 'str' object does not support item assignment
任何帮助将不胜感激!
干杯,
Ĵ
答案 0 :(得分:0)
首先,这样做
$(document).ready(function () {
$('div.portfolio-wrapper').hide();
$('div.hidden')
.fadeIn(1500)
.slideUp(500)
.slideDown(500)
.removeClass('hidden');
});
$('#front-show').onclick(function () {
$('.portfolio-wrapper').hide(500).delay(500);
$('.content-wrapper').show(500);
});
$('#portfolio-show').onclick(function () {
$('.content-wrapper').hide(500).delay(500);
$('.portfolio-wrapper').show(500);
});
立即销毁您的文件内容。在写回之前你必须完整阅读
其次,with open(c, 'w', encoding='utf-8') as a_file:
正在迭代文件名。不能工作! (这解释了你得到的错误:你正在尝试加密文件名到位:字符串不可变)。无论如何,不是你想做的......
您不需要for i, v in enumerate(c):
。只需在迭代文件(文件行)时使用listcomp创建一个列表
enumerate
注意:如果您想要更复杂的加密,请使用自定义with open(c, 'r', encoding='utf-8') as a_file:
lines = [v.replace("N", "3") for v in a_file]
# now write the "encrypted" file back using the same name
with open(c, 'w', encoding='utf-8') as a_file:
a_file.write('Neco jineho napsaneho')
a_file.writelines(lines)
替换v.replace("N", "3")
。
encrypt(v)
将lines = [encrypt(v) for v in a_file]
定义为:
encrypt
(效率不高,但这只是一个例子。用字典会更好)