gpt4 book ai didi

python - 在不知道名称的情况下如何在另一个文件中找到并使用变量?

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:37 25 4
gpt4 key购买 nike

我正在用 python 编写一个程序,它接受用户名的输入,并根据单独文本文件中的单词为该用户提供昵称或“新名称”。

#This file takes a name input from the user, gives the user a new name, and then saves the username and #new name in a separate "companion" file.
import random
import NameGenCompanion as NGC
unloggedname=1
Dict = open('Dictionary.txt').read().splitlines()
line1 = random.choice(Dict)
line2 = random.choice(Dict)
clear1 = line1.replace("#", "")
clear2 = line2.replace("#","")
word1 = clear1.replace("%","")
word2 = clear2.replace("%","")
newname = word1 + "-" + word2
username = input("What is your name? ")
Lo = open("NameGenCompanion.py").read()
if username in Lo:
unloggedname=0
print()#whatever the username variable was assigned in the companion file
if unloggedname!=0:
Log = open('NameGenCompanion.py','a')
Log.write("\n" + username + ' = ' + "'" + newname + "'")
Log.close()
print(username + "'s new name is " + newname)

程序将用户名和昵称保存到“伴随文件”中。

示例:如果我的名字是“John”,我的昵称是“Appleseed”,那么我的程序会将其写入伴随文件:

John = 'Appleseed'

然后,如果我返回程序,并给它相同的用户名,我希望它在伴随文件中找到变量 John,并将该变量的值分配给原始文件中的 newname文件。

问题是我不知道如何让我的程序在伴随文件中查找用户名,然后在原始文件中使用该变量。如何导入并使用 NameGenCompanion 中名称与原始文件中 用户名 相同的任何给定变量?

最佳答案

出于多种原因,这是一个糟糕的想法(例如,对于其中包含 ' 的名称,它任意行为不当(使用这种幼稚的实现)并且它假设了 sys.path 的坏处),但答案很简单: getattr(NameGenCompanion,username) 具有读取所选名称的变量的预期效果<强>动态。您甚至可以使用 getattr(NameGenCompanion,username,None) 比使用 Lo 更简单、更可靠地处理新名称情况。

关于python - 在不知道名称的情况下如何在另一个文件中找到并使用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59554990/

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