Есть ли способ для 2 сценариев записать в один файл? - PullRequest
0 голосов
/ 05 июня 2019

У меня ограниченный опыт работы с Python, но я решил учиться. Я пытаюсь создать сценарий, который будет записывать некоторые входные данные, чтобы преуспеть, пока не остановится. Это очень просто, когда его использует один человек, но проблема в том, что 2 человека будут использовать его одновременно.

Я думаю о том, чтобы упростить и просто запустить 2 одинаковых сценария одновременно, но проблема возникает, когда файл будет сохранен. Если у меня сохраняются два файла с одним и тем же именем, один перезапишет другой, и данные будут потеряны. Есть ли способ заставить скрипты создавать файлы с разными именами без необходимости вручную изменять код? (Это в конечном итоге может быть увеличено до 20 компьютеров, на которых он работает)

Цикл выглядит так:

import xlwt
from xlwt import Workbook

wb = Workbook()
s1 = wb.add_sheet('Sheet 1')

data = []
while user != '0':
    user = input('Scan ID Badge: ')
    data.append(user)
    order = input('Scan order: ')
    data.append(order)
    item = input('Scan item barcode: ')
    data.append(item)

    for i in range(len(data)):
        s1.write(row,i,data[i])

    wb.save('OrderData.xls')
    data = []
    row += 1

Ответы [ 2 ]

1 голос
/ 05 июня 2019

Если вы в любом случае хотите использовать табличную форму хранения данных, вы можете переключиться на реальную базу данных и через некоторое время создать краткую сводную информацию о файле базы данных.

0 голосов
/ 05 июня 2019

Если вы знаете, что все пользователи, использующие этот сценарий, будут использовать компьютеры с разными сетевыми именами, вы можете включить имя компьютера в имя XLS:

import platform

filename = 'AssociateEfficiencyTemp-' + platform.node() + '.xls'
# ...
wb.save(filename)

(Вы также можете использовать getpass.getuser(), чтобы (попытаться) получить имя пользователя, запустившего сценарий.)

Затем вы можете написать другой скрипт, который читает все отдельные файлы (glob.glob('AssociateEfficiencyTemp-*.xls') и т. Д.) И объединяет их.

(я бы предложил использовать для промежуточных файлов другой формат, чем .xls, , например, простые текстовые файлы строк JSON .)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...