记录#
今天学习了拆分文件和导入文件的知识。
当代码量过多时,我们应该考虑将代码拆分为不同的文件。不同的文件可以相互调用,使用import 文件名
来进行导入,这里不需要输入.py
扩展名。为了方便调用,还可以给导入的文件赋予别名,使用import 文件名 as 别名
的方式。
在导入文件后,可以通过文件名.函数名
或者别名.函数名
的方式来调用函数。
今天的练习是将之前的代码进行拆分,将函数拆写到单独的文件中,然后进行导入和调用。
在不同的文件之间进行调用时,还涉及到参数传递的问题。这部分可能还不太理解,需要在以后的学习中多加注意。
CODE#
## main.py
import os, time, myLibary as lib
try:
f=open("gamelist.txt","r")
gamelist=eval(f.read())
f.close
except:
gamelist = []
while True:
time.sleep(1)
os.system("clear")
print("🌟RPG Inventory🌟")
menu=input("1: Add\n2: Remove\n3: View\n")
if menu == "1":
lib.gameadd(gamelist)
elif menu == "2":
lib.gameremove(gamelist)
elif menu == "3":
lib.gameview(gamelist)
else:
print("input error")
f=open("gamelist.txt","w")
f.write(str(gamelist))
f.close()
### myLibaty.py
def gameadd(gamelist):
gname = input("Input the item to add: > ").capitalize()
gamelist.append(gname)
print(f"{gname} has been added to your inventory.")
def gameremove(gamelist):
if gamelist:
gname=input("Input the item to remove: > ").capitalize()
if gname in gamelist:
gamelist.remove(gname)
print(f"{gname} has been removed from your inventory.")
else:
print(f"{gname} is not in the list.")
else:
print("The list is empty")
def gameview(gamelist):
if gamelist:
gname=input("Input the item to view: > ").capitalize()
if gname in gamelist:
gamenum = gamelist.count(gname)
print(f"You have {gamenum} {gname}.")
else:
print(f"{gname} is not in the list.")
else:
print("The list is empty")