Pylint在最后一行抱怨我在调用函数" deletdcmfiles()"。 "最后的换行线缺失"。我是python的新手,我不确定是什么触发了它?
以下是该计划的代码:
'''
This program will go through all Work subdirectorys in "D:\\Archvies" folder
and delete all DCM files older then three months.
'''
import os.path
import glob
import time
#Create a list of Work directorys in Archive folder
WORKDIR = glob.glob("D:\\Archives\\ASP*\\Work*")
#Variable holds three months of time in seconds
THREEMONTHSOLD = (time.time()) - (90 * 86400)
def deletdcmfiles():
'''
This function will go through all Work subdirectorys in "D:\\Archvies" folder
and delete all DCM files older then three months.
'''
#Variable to keep counter of deleted files
deleted_files = 0
#Loop through each Work subdirectory and delete all .DCM files older then 3 months
for mydir in enumerate(WORKDIR):
#Store all directory files in a list
dcmfiles = glob.glob(mydir[1] + "\\" + "*.dcm")
#Compare Modified Date of each DCM file and delete if older then 3 Months
for file in enumerate(dcmfiles):
if os.path.getmtime(file[1]) < THREEMONTHSOLD:
print("Deleted " + file[1] + " " + time.ctime(os.path.getmtime(file[1])))
os.remove(file[1])
deleted_files += 1
print("Total Files Deleted :" + str(deleted_files))
#Run program
deletdcmfiles()
答案 0 :(得分:19)
您需要在文件末尾添加一个空行。只需在最后一行的末尾添加另一个 ENTER ,你就没事了。
答案 1 :(得分:3)
我刚遇到这个问题,发现 this answer 有类似的问题:
<块引用>您至少需要一个换行符的原因是历史上有些 如果文件结束并且最后一行上有文本,则工具会出现问题 但文件末尾没有换行符。写得不好 工具可能会错过最后部分行的处理,甚至更糟的是 读取最后一行之后的随机内存(尽管这不太可能 使用 Python 编写的工具发生 使用编写的工具可能发生 在 C)中)。
所以你必须确保有一个换行符终止最后一个非空白 线。