Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/120: Рейтинг темы: голосов - 120, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 18

Склейка нескольких текстовых файлов в один

25.05.2016, 23:24. Показов 22779. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста!
Есть 4 файла текстовых 1.txt, 2.txt, 3.txt и 4.txt
как их склеить по очередности в 5 файл, но чтобы каждый следующий файл записывался со следущей строки

Добавлено через 1 минуту
а если еще в конечном файле удалялись слова next все кроме 1ого

Добавлено через 25 секунд
сам нуб в python-е, да и не только в нем
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.05.2016, 23:24
Ответы с готовыми решениями:

Совмещение нескольких текстовых файлов в один
Делаю программу на С++ под linux и не знаю как совместить несколько текстовых файлов в один, что бы с помощью командной строки можно было...

Объединить содержимое нескольких текстовых файлов в один
Напишите командный файл, который позволяет объединить содержимое не- скольких текстовых файлов в один, имя которого должно задаваться в...

Импорт нескольких текстовых файлов на один лист в Excel с возможностью задания маски
Здравствуйте! Нужна помощь по открытию нескольких текстовых файлов со строго определенным разделителем на один лист в Excel. При этом...

15
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
26.05.2016, 05:44
Лучший ответ Сообщение было отмечено bobbibob как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
import fileinput
 
first = True
with open("5.txt", "wt", encoding="cp1251") as out, fileinput.input(
        files=["{}.txt".format(i) for i in range(1, 5)]) as f:
    for line in f:
        if "next" in line:
            if not first:
                line = line.replace("next", "")
            else:
                first = False
        out.write(line)
1
Заблокирован
26.05.2016, 11:51
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
lstr = []
for path in ['1.txt', '2.txt', '3.txt', '4.txt' ]:
    with open(path) as f:
         lstr.append(f.read())
         lstr.append('\n') #вроде это символ перевода строки, если нет то поправь
 
for idx, s in enumerate(lstr):
    a =  s.find('next')
    if a:
         lstr[idx] = s[:a] + s[(a+4):]
         break
 
with open('5.txt', 'a') as f:
     for s in lstr:
         f.write(s)
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 18
26.05.2016, 18:02  [ТС]
pyuser, А не подскажите как указать что файлы 1-4.txt в кодеровке utf8 куда уже только не тыкал encode"utf8" пишет invalid syntax

Добавлено через 5 минут
pyuser, А не подскажите как указать что файлы 1-4.txt в кодеровке utf8 куда уже только не тыкал encode"utf8" пишет invalid syntax
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
26.05.2016, 18:23
Цитата Сообщение от bobbibob Посмотреть сообщение
invalid syntax
И кодировка ни как не связаны, это небо и земля.
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 18
26.05.2016, 18:26  [ТС]
Цитата Сообщение от alex925 Посмотреть сообщение
Сообщение от bobbibob
invalid syntax
И кодировка ни как не связаны, это небо и земля.
Это он пишет конда я вставляю encode
а так он пишет
File "1.py", line 31, in <module>
for line in f:
File "C:\Users\User\AppData\Local\Programs\Py thon\Python35-32\lib\fileinput.py
", line 265, in __next__
line = self.readline()
File "C:\Users\User\AppData\Local\Programs\Py thon\Python35-32\lib\fileinput.py
", line 370, in readline
self._buffer = self._file.readlines(self._bufsize)
File "C:\Users\User\AppData\Local\Programs\Py thon\Python35-32\lib\encodings\cp
1251.py", line 23, in decode
return codecs.charmap_decode(input,self.errors, decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 3084: cha
racter maps to <undefined>
0
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
26.05.2016, 18:40
(pyuser, извините, что отвечаю вместо вас)
bobbibob, кажется так
Python
1
2
fileinput.input(
        files=["{}.txt".format(i) for i in range(1, 5)]), openhook=fileinput.hook_encoded("utf8"))
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
26.05.2016, 19:03
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
first = True
with open('5.txt', 'wt', encoding='utf8') as out:
    all_data = ''.join(
        [open('{}.txt'.format(i), encoding='utf8').read() for i in range(1, 5)]
    )
    for line in all_data.split('\n'):
        print(line)
        if 'next' in line:
            if not first:
                line = line.replace('next', '')
            else:
                first = False
        out.write(line + '\n')
1
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 18
26.05.2016, 22:53  [ТС]
Цитата Сообщение от alex925 Посмотреть сообщение
PythonВыделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
first = True
with open('5.txt', 'wt', encoding='utf8') as out:
* * all_data = ''.join(
* * * * [open('{}.txt'.format(i), encoding='utf8').read() for i in range(1, 5)]
* * )
* * for line in all_data.split('\n'):
* * * * print(line)
* * * * if 'next' in line:
* * * * * * if not first:
* * * * * * * * line = line.replace('next', '')
* * * * * * else:
* * * * * * * * first = False
* * * * out.write(line + '\n')
Всё работает!!! Огромное Человеческое спасибо!!!

Добавлено через 31 минуту
а почему когда добавляю out.close() в конце, что бы добавить еще действие с конечным файлом он мне пишет
Python
1
TabError: inconsistent use of tabs and spaces in indentation?
Добавлено через 11 минут
Разобрался!! Всем огромное спасибо за помощь!!

Добавлено через 1 час 51 минуту
А как удалить все файлы .txt в папке питоном?

Добавлено через 38 секунд
точнее те 4 которые были в 5 переработаны
0
Заблокирован
27.05.2016, 00:14
Python
1
2
import os
os.remove(filename)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
27.05.2016, 00:20
Цитата Сообщение от bobbibob Посмотреть сообщение
А как удалить все файлы .txt в папке питоном?
НЕЛЬЗЯ ничего класть в папку интерпретатора, вообще туда не лазий!
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 18
27.05.2016, 00:27  [ТС]
Цитата Сообщение от askurandrio Посмотреть сообщение
PythonВыделить код
1
2
import os
os.remove(filename)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import os
first = True
with open('5.txt', 'wt', encoding='utf8') as out:
* * all_data = ''.join(
* * * * [open('{}.txt'.format(i), encoding='utf8').read() for i in range(1, 5)]
* * )
* * for line in all_data.split('\n'):
* * * * print(line)
* * * * if 'next' in line:
* * * * * * if not first:
* * * * * * * * line = line.replace('next', '')
* * * * * * else:
* * * * * * * * first = False
* * * * out.write(line + '\n')
os.remove(1.txt)
не удаляет ошибка вылезает
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
27.05.2016, 00:49
bobbibob, нужно код ошибки выкладывать ну, а вообще ошибка в 15 строке
Python
1
os.remove('1.txt')
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 18
27.05.2016, 01:02  [ТС]
Да так и было! Спасибо!!!

Добавлено через 29 секунд
а можно сделать что бы он удалял все txt файлы, что бы не перечислять их?
0
Заблокирован
27.05.2016, 11:56
Через команду os.remove никак. Либо иди по списку, либо через subprocess запускай del path\*.txt
0
0 / 0 / 0
Регистрация: 08.05.2014
Сообщений: 6
08.08.2017, 11:28
Подскажите, плиз, вариант кода, когда в папке находятся файлы не с номерным именем, а с произвольным. Нужно считать имена файлов в папке и объеденить после этого их в один фаил. Заранее благодарен.

Добавлено через 16 часов 13 минут
Уже не надо. собрал сам из различных кусков кода нормального Франкенштейна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.08.2017, 11:28
Помогаю со студенческими работами здесь

Склейка нескольких XML файлов
По заданию нужно склеить xml файлы в один. XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(&quot;путь...

[Embarcadero C++] Склейка нескольких файлов в единый
Добрый день. Стоит задача создания небольшого пакета файлов, будем называть это &quot;Архивом&quot;, где присутствует изображение - (Файл...

Обработка группы файлов и "склейка" файлов в один
Здравствуйте. Извините за глупый вопрос, но тем не менее: Подскажите, как лучше поступить: &quot;склеить&quot; несколько файлов word...

Открытие нескольких текстовых файлов
Добрый день! У меня такая проблема: есть множество текстовых файлов, необходимо открыть все и определить есть ли в данном файле указанная...

Импорт нескольких текстовых файлов в excel
Здравствуйте. Нужна помощь с импортом нескольких текстовых файлов которые имеют вид: номер значение значение значение номер значение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru