大家晚上好,可以用Python
处理文件的问题我是相当新的Python和此刻,在此刻,我对如何正确地编辑文件(.txt或问题所困扰。 csv)在python中。我正在尝试编写一个小程序,将每行文本文件加密,然后对其进行加密,然后逐行覆盖文件并保存。我的代码的相关部分看起来像这样到目前为止:
with open('/home/path/file.csv', 'r+') as csvfile:
for row in csv.reader(csvfile, delimiter='\t'):
y = []
for i in range(0, len(row)):
x = encrypt(row[i], password)
y.append(x)
csvfile.write(''.join(y))
其中,执行时什么也不做。我打的代码一点点,有时它运行到
TypeError: expected a character buffer object
加密函数返回一个字符串,我的文件由每行3个字符串,由片分隔,像这样的:
key1 value1 value1'
key2 value2 value2'
key3 value3 value3'
...
csv.reader似乎正确地读取文件并每行返回一个列表,然后y返回一个带有加密短语的列表。但是,我似乎无法获得file.write()函数来实际覆盖文件。有谁知道如何解决这个问题? 任何帮助将不胜感激。
感谢,
安迪
你可能只是缺少一个'csvfile.seek(0)'将重置您的文件光标移动到文件的开头写之前,(你要首先做您的所有阅读,然后写在一切如果你把内容写到一个新的文件中,它会执行什么操作吗? –