gpt4 book ai didi

python - optparse 查找字符串

转载 作者:行者123 更新时间:2023-11-30 22:59:28 25 4
gpt4 key购买 nike

我有一个 mysql 数据库,我正在尝试打印特定学生的所有测试结果。我正在尝试创建一个命令行,在其中输入用户名,然后它将显示他/她的测试结果。我已经访问过此页面,但无法得到答案。 optparse and strings

  #after connecting to mysql
cursor.execute("select * from database")
def main():

parser = optparse.OptionParser()
parser.add_option("-n", "--name", type="string", help = "student name")
(options, args) = parser.parse_args()

studentinfo = []

f = open("Index", "r")
#Index is inside database, it is a folder holds all kinds of files

最佳答案

那么,您应该做的第一件事就是不要使用 optparse,因为它已被弃用 - 使用 argparse反而。我链接到的帮助非常有用且信息丰富,可指导您创建解析器并设置不同的选项。通读之后,您应该可以毫无问题地访问从命令行传递的变量。

但是,您的脚本中还有其他错误会阻止它运行。首先,您不能使用 open() 命令打开目录 - 您需要为此使用 os.listdir(),然后读取生成的文件列表。在 open()ing 文件时使用上下文管理器也是非常明智的:

filelist = os.listdir("/path/to/Index")
for filename in filelist:
with open(filename, "r") as f:
for line in f:
# do stuff with each line

这样您就不必担心稍后会关闭文件处理程序,这只是一种通常更简洁的做事方式。

关于如何获得学生的分数,您在问题中没有提供足够的信息,所以恐怕我无法在这方面为您提供帮助。您(我假设)必须将来自数据库查询的数据与 Index 目录中的文件(及其内容)连接起来。我怀疑如果学生分数保存在数据库中,那么您需要使用 SQL 从数据库中检索它们,而不是尝试读取文件系统中的原始文件。您可以从命令行轻松获取感兴趣的学生姓名,但是您必须将其插入到 SQL 查询中以找到正确的表,从表中选择与学生考试成绩对应的行,然后处理结果用 Python 打印出漂亮的摘要。

祝你好运!

关于python - optparse 查找字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24719478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com