我是一名新手程序员,我正在为游戏编写此帐户工具(仅限我自己,现在只能在控制台中运行) 要做到这一点,我需要一个数据库,但我所做的是用我的类创建一个Python文件,另一个是交互式的,它必须将你输入的一些东西附加到另一个Python文件,一个带有类,所以它自动保存两个文件。 起初我做了这个
action = input('Select an action')
if action == 'addw':
champion = input('\n'+'Select a champion \n')
f = open('/Users/tommaso/PycharmProjects/Random/Champs.py', 'a')
f.write('\n' + str(champion.title()) + r'.addw()')
print('\nA Win was added to' + ' '+ str(champion))
它有效。但是,我在我的程序结束时(不仅仅是那里的代码)它会停止,因为我需要它重新启动或者至少让我选择重启/退出,我不得不使用while循环,所以起初我尝试过,如果它使用while循环,我做了这个(只是一个划痕):
while True:
try:
x = open('/Users/tommaso/PycharmProjects/Random/Champs.py', 'a')
x.write('hello')
except: break
这也是有效的。 所以我用我的第一个控制台文件中的所有内容进行了大量的循环,使用完全相同的方法来附加操作,但它不起作用。 不会给我任何错误,但它不会附加任何内容,这里是代码:
while True:
try:
action = input('Welcome to your own account tool.\n' + 'Select an action:\n' + 'addw,addl\n' + 'getstats,getallstats,lanes\n\n')
if action == 'addw':
champion = input('\n' + 'Select a champion \n')
f = open('/Users/Tommaso/PycharmProjects/Random/Champs.py', 'a')
f.write('\n' + str(champion.title()) + r'.addw()')
print('\nA Win was added to' + ' ' + str(champion))
except: Exceptaction = input('Exit / Restart')
if Exceptaction== 'Exit':
break
else:
pass
但它不起作用,它只是不附加我告诉他的文件。 任何人都知道为什么以及如何解决这个问题? 在此先感谢!!
答案 0 :(得分:0)
我建议写入文本文件,而不是写入实际的python文件。
python文件(Python程序/ Python脚本)用于执行您想要的任务(实际程序)。
通常用于存储和读取python程序数据的文本文件。
在python中使用.txt或文本文件非常简单。
你也可以使用mySQL创建一个数据库来存储和检索数据,但我建议现在从文本文件开始,一旦你理解了方法进展到mySQL,那么你将学习两种常用的存储方法和获取数据。
PS:使用文本文件快速而简单,可以省去头疼。另外通过谷歌高级搜索查找一些免费的PDF书籍,你会有这么多的教程,你不知道从哪里开始!!。
希望这会有所帮助。快乐的编码:)。