Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法让两个脚本写入同一个文件?_Python_Excel_While Loop - Fatal编程技术网

Python 有没有办法让两个脚本写入同一个文件?

Python 有没有办法让两个脚本写入同一个文件?,python,excel,while-loop,Python,Excel,While Loop,我的python经验有限,但决心学习。我试图创建一个脚本,将一些数据输入写入excel,直到停止。当一个人使用它时,这是非常简单的,但问题是两个人同时使用它 我正在考虑让它变得简单,同时运行两个完全相同的脚本,但是在保存文件时会出现问题。如果有两个文件以相同的名称保存,一个文件将覆盖另一个文件,数据将丢失。有没有一种方法可以让脚本创建具有不同名称的文件,而不必手动更改代码?最终将扩展到最多20台运行它的计算机 循环看起来像: import xlwt from xlwt import Workbo

我的python经验有限,但决心学习。我试图创建一个脚本,将一些数据输入写入excel,直到停止。当一个人使用它时,这是非常简单的,但问题是两个人同时使用它

我正在考虑让它变得简单,同时运行两个完全相同的脚本,但是在保存文件时会出现问题。如果有两个文件以相同的名称保存,一个文件将覆盖另一个文件,数据将丢失。有没有一种方法可以让脚本创建具有不同名称的文件,而不必手动更改代码?最终将扩展到最多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

如果您知道使用此脚本的所有用户将使用具有不同网络名称的计算机,则可以在XLS名称中包含计算机名称:

导入平台 文件名='AssociateOfficiencyTemp-'+platform.node+'.xls' ... wb.savefilename 还可以使用getpass.getuser尝试获取运行脚本的用户的用户名

然后,您可以编写另一个脚本,读取所有单独的文件glob.glob'AssociateEfficiencyTemp-*.xls'等,并将它们组合起来


不过,我建议对中间文件使用.xls以外的另一种格式。

如果您想使用表格形式的数据存储,您可以切换到真实的数据库,并每隔一段时间创建一个类似excel的db文件摘要

例如,使用os.expanduser~根据用户名使用一个目录。在多用户计算机服务器上要小心:多个用户可以在同一台计算机上运行脚本node@Jean-当然可以。我还添加了关于使用用户名的说明。但是,如果我猜对了,这是一个脚本,它运行在共享驱动器上的多个工作站上