Pylint 给我 "Final new line missing"

Pylint giving me "Final new line missing"

Pylint 在我调用函数 "deletdcmfiles()" 的最后一行抱怨。 "Final newline missing"。我是 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()

您的文件末尾需要一个空的新行。只需在最后一行的末尾添加另一个 ENTER 就可以了。

我刚刚 运行 进入这个问题并发现 一个类似的问题:

The reason you need at least one newline is that historically some tools have problems if the file ends and the last line has text on it but does not have a newline at the end of the file. Badly written tools can miss processing that last partial line, or even worse can read random memory beyond the last line (though that is unlikely to happen with tools written in Python it can happen with tools written in C).

So you must ensure there is a newline terminating the last non-blank line.