1
我想弄清楚如何使用一個類來讀取文件中的輸入,以便我可以在其他類中使用該數據。如果我從文件讀取輸入到列表中,是否應該將其傳遞給另一個需要使用該信息的類?我應該如何在Python中使用文件讀取器類?
現在我有:
import sys
class FileReader:
"""Reads a file"""
def __init__(self):
input = ''
try:
with open(sys.argv[1], 'r') as inFile:
input = inFile.readline()
print(input)
except IndexError:
print("Error - Please specify an input file.")
sys.exit(2)
def main():
x = FileReader()
if __name__ == "__main__":
main()
我想過做一些類型的列表從文件持有字符串,但我不知道這是否應該是全球性與否。
不要將你的類綁定到命令行參數 - 你應該爲'__init__'添加一個file_path參數並傳入'sys.argv [1]'或者獲得一個文件路徑, 'FileReader' – YXD
也不要捕捉異常,只需調用'sys.exit()' - 讓調用代碼捕獲異常並決定要做什麼。你可以重新提出一個更具信息性的例外情況,而不是打印一條錯誤信息(不知道這裏有什麼規範) – YXD
@MrE謝謝你的提示!爲什麼我不應該將我的課程與命令行參數綁定?我不確定我是否理解了原因。 – Ci3