大家晚上好,可以用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)'將重置您的文件光標移動到文件的開頭寫之前,(你要首先做您的所有閱讀,然後寫在一切如果你把內容寫到一個新的文件中,它會執行什麼操作嗎? –