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

Запись в файл multiprocessing

30.08.2016, 10:17. Показов 3253. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как организовать запись в файл, чтобы каждый процесс ожидал завершения предыдущего?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from multiprocessing.dummy import Pool
import string
 
 
letter = string.ascii_letters
 
 
def foo(letter):
    with open('test.txt') as fr:
        data = fr.readlines()
        data = list(map(lambda i: i.strip(), data))
        val = data.pop(0)
        while not val:
            val = data.pop(0)
        data.append(val + letter)
    with open('test.txt', "w") as fw:
        for line in data:
            fw.write("{0}\n".format(line))
    return val
 
if __name__ == '__main__':
    with Pool(processes=10) as p:
        p.map(foo, letter)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.08.2016, 10:17
Ответы с готовыми решениями:

Multiprocessing Queue vs multiprocessing.Manager Queue
Если кому интересно: обычная Queue из мультитпроцессинга имеет ограничение по размеру, если туда забивать объекты не считывая. а очередь из...

Multiprocessing(ThreadPool) и запись файла
Здравствуйте, я только начинаю программировать. Столкнулся с такой проблемой: я создал 4 процесса, в каждом из них выполняется эта функция....

Multiprocessing
В общем и целом, сбахал простейший скрипт для того, чтобы опробовать класс Process() из модуля multiprocessing. Выглядит он так: from...

6
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
30.08.2016, 13:31
А зачем такой изврат?
0
1 / 1 / 0
Регистрация: 03.02.2015
Сообщений: 35
30.08.2016, 15:03  [ТС]
Не знаю Это для примера. Но смысл остается. В файле сайты к которым осуществляется запрос. Нужно брать первую строку, возвращать и записывать в конец. Если брать строки из файла и помещать в список, то все норм. А с перезаписью самого файла, не получается
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
30.08.2016, 15:13
Во-первых, в файл нельзя писать многопоточно. Там же данные перемешаются.

Во-вторых, если каждый поток будет ждать завершения предыдущего - теряется весь смысл многопоточности, это же обычный последовательный код по смыслу получается.

В третьих, метод wait. Но это для нормального программирования
1
1 / 1 / 0
Регистрация: 03.02.2015
Сообщений: 35
30.08.2016, 15:42  [ТС]
Не знаю как в python, в C# так делал ч/з Lock
Поэтому и спрашиваю, как лучше сделать
AttributeError: 'ThreadPool' object has no attribute 'wait'
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
30.08.2016, 16:10
wait у одного потока, у пула не в курсе, не пользовался.
0
431 / 302 / 90
Регистрация: 03.12.2015
Сообщений: 741
30.08.2016, 19:47
Цитата Сообщение от stanton Посмотреть сообщение
Как организовать запись в файл, чтобы каждый процесс ожидал завершения предыдущего?
Например так:
Python
1
2
3
4
5
import threading
 
my_lock = threading.Lock()
with my_lock:
    ...do it here...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.08.2016, 19:47
Помогаю со студенческими работами здесь

Multiprocessing
if __name__ == '__main__': exe = 'pocketsphinx_continuous.exe -hmm zero_ru_cont_8k_v3\\zero_ru.cd_cont_4000 -dict...

Работа с multiprocessing
Здравствуйте. Хотелось спросить знатоков дела. Я делаю такую структуру приложения: Есть процесс который собирает данные с устройства и...

Multiprocessing mysql
Господа, может кто-то поделиться знаниями и/или примером выполнения параллельного обращения к нескольким (30шт) mysql серверам.

Использование Multiprocessing
Кто может подсказать, как на данном участке кода задействовать мультипроцессинг ? if self.debug: ...

Multiprocessing в пайтоне
Я постараюсь навести пример. Есть у нас a = b = И чтоб результат программы выбивал что-то такое: Ваня - 1 Ваня - 2 Ваня...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru