我的python脚本删除文件而不是重命名它们

时间:2018-07-13 00:59:51

标签: python-3.x

我想我已经解决了这个问题。编写了一个Pyhon脚本来重命名文件,但是它删除了文件而不是重命名它们。我在这里做错了什么?我已经解决了重命名的问题。有人可以告诉我为什么下面的if语句现在现在仅提取以“ New”开头的文件吗?

#! /usr/bin/python

import os
import datetime
import glob

now = datetime.datetime.now()
#store date in string variable
dateStr = str(now.strftime('%Y%m%d-'))
src = r"C:\Users\username\Downloads"

for file in glob.glob(os.path.join(src, '*.txt')):
    #Grab the basename
    fileName = os.path.basename(file)
    newName =  src + "\\" + dateStr + fileName
    #THIS if statement does not work
    #if fileName.startswith("New"):
    os.rename(file, newName)
    print(newName)

任何人都可以建议为什么上述if语句不起作用吗?

1 个答案:

答案 0 :(得分:0)

(我在计算机上运行了此文件,因此文件名与您的文件名不匹配)

在for语句中,变量“ file”是完整路径,文件名类似于

C:\Users\Philip\Downloads\PROGIDS-ON-THIS-COMPUTER.txt  

且未更改
因此,当“ if”语句检查其是否以“ New”开头时,它永远不会匹配

you probably want to change to use 'fileName' instead