Мне нужно удалить первое слово после пробела или символа табуляции, так как файл содержит строку с пробелом, а другие содержат табуляцию, например
PMC3283944_JISP-15-414-g006 post
PMC3214859_cmj-47-57-g003 follow-up
результат должен быть
PMC3283944_JISP-15-414-g006
PMC3214859_cmj-47-57-g003
я попробовал этот код
import os
ff = open("text","r")
f = open("result","w")
for line in ff.readlines():
res = line.split(' ', 1)[0]
f.write(str(res))
f.close()
но текст по прежнему без изменений
те же данные без изменений
Вы закрыли f
?
я тоже попробовал сейчас без изменений
я думаю это должно сработать
words = "erere23232 fdjkf"
print(words.split(" ")[0])
import os
import re
ff = open("text.txt", "r")
f = open("result.txt", "w")
for line in ff.readlines():
res = re.split('\\s|\t', line)[0]
f.write(res + '\n')
ff.close()
f.close()
Обязательно закройте файлы после операции или вы можете использовать менеджер контекста для чтения и записи файлов в python.
с диспетчером контекста можно добиться того же результата:
import re
with open("text.txt", "r") as ff:
with open('result.txt', 'w') as f:
for line in ff.readlines():
res = re.split('\\s|\t', line)[0]
f.write(res + '\n')
Примечание. Отредактировано, чтобы избежать нескольких разделителей.
не могли бы вы проверить сообщение еще раз, поскольку я редактирую сообщение с примером, который не работает
дай мне проверить. вы не должны отрицать какой-либо ответ, пока ваш пост не станет достаточно ясным.
я не отрицал ни одного ответа, и я проголосовал за вас и другого после того, как увидел отрицательный голос .. вы потратили свое время на помощь, почему я отрицаю вас! :-)
Спасибо. Я отредактировал ответ, работающий нормально с моей стороны. Можешь перепроверить, пожалуйста?
Большое спасибо за вашу помощь и время .. Наконец, это работает
Разделение на \n
здесь просто избыточно, вы просматриваете одну строку за раз, поэтому не может быть встроенной новой строки (хотя она будет в конце каждой строки, если ввод правильно сформирован).
разделение на \n
было просто дополнением на случай необходимости. не требуется для работы оператора. Тем не менее я редактирую ответ.
С удовольствием @sammo
Что именно вы видите в выходном файле
result
?