Pylint给了我"最后的新线缺失"

时间:2017-06-01 21:59:47

标签: python python-3.x pylint

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()

2 个答案:

答案 0 :(得分:19)

您需要在文件末尾添加一个空行。只需在最后一行的末尾添加另一个 ENTER ,你就没事了。

答案 1 :(得分:3)

我刚遇到这个问题,发现 this answer 有类似的问题:

<块引用>

您至少需要一个换行符的原因是历史上有些 如果文件结束并且最后一行上有文本,则工具会出现问题 但文件末尾没有换行符。写得不好 工具可能会错过最后部分行的处理,甚至更糟的是 读取最后一行之后的随机内存(尽管这不太可能 使用 Python 编写的工具发生 使用编写的工具可能发生 在 C)中)。

所以你必须确保有一个换行符终止最后一个非空白 线。