用户在Python脚本上的输入

时间:2018-11-20 17:38:39

标签: python

我是python的新手,但是我有一个可以根据需要运行的脚本。但是,其中一些字段每次使用时都需要使用新数据进行更新:文件路径,描述和外部标识符。

输入此数据的最佳方法是什么,除了每次需要时都重写python脚本之外?我当时在想类似GUI用户输入表单的方法,但是我不确定如何执行此操作。

我正在使用国会图书馆的BagIt工具(Python)。这是脚本:

import bagit

# load the bag
bag = bagit.Bag('<FILEPATH>')
# update bag info metadata
bag.info['Source-Organization'] = ['University Archives']
bag.info['Organization-Address'] = ["#"]
bag.info['Contact-Phone'] = ['#']
bag.info['Contact-Email'] = ['#']
bag.info['Description'] = ['#DESCRIPTION#']
bag.info['External-Identifier'] = ['#UUID#']
bag.save(manifests=True)

任何帮助将不胜感激。谢谢!


更新。感谢您的帮助,这是UDbaginfo.py脚本的有效版本。这将更新bag-info.txt并更新行李清单。

这是为LOC Bagit(Python版本)更新bag-info.txt文件的代码

import bagit

fpath = input("Enter the file path:")
bagDes = input("Enter the Description:")
bagUUID = input("Enter the UUID:")

# load the bag
bag = bagit.Bag(fpath)

# update bag info metadata
bag.info['Source-Organization'] = ['University Archives']
bag.info['Organization-Address'] = ["1000 North Ave. Nowhere, State. 
33333"]
bag.info['Contact-Phone'] = ['555-555-5555']
bag.info['Contact-Email'] = ['archives@university.edu']
bag.info['Description'] = [bagDes]
bag.info['External-Identifier'] = [bagUUID]
bag.save(manifests=True)

1 个答案:

答案 0 :(得分:1)

假设您使用的是Python 3,则可以使用input()。这也可以让您进行验证,即:

#Validate
validUUID = False
while  not (validUUID):
    temp_uuid = input("UUID:")
    try:
        int(temp_uuid)
        bag.info['External-Identifier'] = temp_uuid
        validUUID = True

尽管以上方法仅在终端环境中。或者,您可以仅将参数传递给脚本