程序比此更多,但現在這是我遇到的麻煩;我想要2個不同的函數,open_file()打開一個.txt文件,然後是一個控制一切的main()(除open_file外還有其他函數可供控制),但我無法獲取main甚至打開並打印文件中的行。讀取在另一個函數中打開的文件的函數產生錯誤
def open_file():
'''prompt for file name, open file, return file pointer'''
filename = input("Input a file name: ")
file=open(filename,'r')
return file
def main():
## open the file
open_file()
file.readline()
for line in file:
print(line)
#and then do other stuff with it
main()
當我運行的main(),它會提示輸入文件名,但是當我進入它,它告訴我,「名‘文件’沒有定義」。我該如何糾正?
您需要了解變量的作用域。通常,您應該將參數傳遞給函數,並返回要在該函數外部使用的數據。或者,您可以使用全局範圍,但通常不建議這樣做。 –