将.txt文件转换为Python 3中的字符表

时间:2016-10-21 15:08:42

标签: python python-3.x encryption converter

这里有一点问题:

尝试创建我自己的" 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

任何帮助将不胜感激!

干杯,

Ĵ

1 个答案:

答案 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

(效率不高,但这只是一个例子。用字典会更好)