【发布时间】:2018-03-28 09:52:08
【问题描述】:
我正在尝试关闭类中的文件。但无论我尝试什么,它都保持打开状态。所以我的问题很简单。
为什么不关闭?
非常欢迎任何帮助或解释。提前致谢!
import os
class LoopFolders:
def __init__(self, targetFolder):
self.targetFolder = targetFolder
print('Target Folder:', targetFolder)
def closeFile(self):
self.logFile.close()
print('All done!')
def loop(self):
self.logFile = open('FileList.txt', 'w')
for root, subs, files in os.walk(self.targetFolder):
print('Root:', root)
self.logFile.write('Root:\n'+root+'\n')
self.closeFile()
# This doesn't work either:
# self.logFile.close()
# code run example
run = LoopFolders('c:/')
run.loop()
【问题讨论】:
-
你的班级怎么称呼,怎么不工作?
-
此外,此代码将引发
SyntaxErro,因为您在__init__之前省略了def关键字。 -
类的初始化缺少“s”应该是
run = LoopFolders() -
快速测试显示正在调用 close ,我在第一个循环后添加了一个 break 语句 5
Target Folder: c:/ Root: c:/ Root: c:/$Recycle.Bin Root: c:/$Recycle.Bin\S-1-5-21-147214757-305610072-1517763936-2309274 Root: c:/$WINDOWS.~BT Root: c:/$WINDOWS.~BT\Sources All done!
标签: python-3.x class filehandle