关闭程序看似很简单的操作,小伙伴们有没有想过也会出错呢?往往就是这种不容易出错的操作,真的报错后我们很难找到出错的原因,因为平时很少有人会讲这方面的问题。今天小编就python3 os关闭程序中可能会出错的点,跟小伙伴们分析一下,希望能在报错发生前避免此类操作。
os.lose():
关闭文件描述符FD。使用open()打开的文件只能由CLOSE()关闭。
但是通过os.popen()打开的文件可以用CLOSE()或os.lose()关闭。
如果我们尝试关闭使用open()打开的文件,使用os.lose(),Python将抛出TypeError。import os
fd = "GFG.txt"
file = open(fd, 'r')
text = file.read()
print(text)
os.close(file)
产出:Traceback (most recent call last):
File "C:\Users\GFG\Desktop\GeeksForGeeksOSFile.py", line 6, in
os.close(file)
TypeError: an integer is required (got type _io.TextIOWrapper)
注意:由于不存在文件或权限特权,可能不会引发相同的错误。
读完这篇文章会发现,os.lose()的使用是不能用open()打开的文件,os.popen()就没有这方面的限制,这点大家可得记清楚了。
更多Python学习推荐:PyThon学习网教学中心。