У меня есть файл, который содержит информацию, как ниже:Заменить каждый экземпляр «-» из файла
1/1/2010
1-2-3-4
1
1/2/2010
1-5-6-7
111
etc.
Я хочу, чтобы иметь возможность написать это в другой файл, где каждый экземпляр '-'
заменяется ','
. Я попытался с помощью str.split('-')
и понимаю, что я не могу написать список в файл после того, как эта ошибка
TypeError: must be string or read-only character buffer, not list
Я также попытался с помощью str.replace('-', 'i')
, но все это дает мне еще одна ошибка
TypeError: replace() takes at least 2 arguments (1 given)
Может кто-нибудь мне точку в правильном направление?
Я должен также указать на причину я пытающийся использовать str.split()
в первую очередь потому, что в конце концов все это будет поместить в словарь как так
{0:[['1/1/2010], ['1', '2', '3', '4'], ['1']], 1: [['1/2/2010'], ['1', '5', '6', '7'], ['111']], etc.}
Просто обновление ... я нашел простой способ сделать это, используя регулярные выражения, которые не были упомянуты.
>>> def test(filename):
import re
input_file = open(filename, 'r')
output_file = open('test.txt', "w")
for line in input_file:
line = line.strip()
line = re.sub('-', ',', line)
output_file.write(line)
output_file.write('\n')
input_file.close()
output_file.close()
Следует ли интегрировать его в другую программу? Вам нужно использовать python для этого шага? Если нет, то почему не команда оболочки: cat file | tr "-" "," – Benedict