Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python脚本查找和重命名文件_Python_Datetime_Find_Command_Rename - Fatal编程技术网

使用Python脚本查找和重命名文件

使用Python脚本查找和重命名文件,python,datetime,find,command,rename,Python,Datetime,Find,Command,Rename,我不熟悉Python编码,所以这里有一个问题。我想找到名为“无标题”的文件,其扩展名可以是任何类型的,例如jpg、indd、psd。然后将它们重命名为当天的日期 我尝试了以下方法: import os for file in os.listdir("/Users/shirin/Desktop/Artez"): if file.endswith("untitled.*"): print(file) 当我运行脚本时,什么也没有发生。在这种情况下,您可能会发现该函数更有用:

我不熟悉Python编码,所以这里有一个问题。我想找到名为“无标题”的文件,其扩展名可以是任何类型的,例如jpg、indd、psd。然后将它们重命名为当天的日期

我尝试了以下方法:

import os

for file in os.listdir("/Users/shirin/Desktop/Artez"):
    if file.endswith("untitled.*"):
        print(file)
当我运行脚本时,什么也没有发生。

在这种情况下,您可能会发现该函数更有用:

import glob

for file in glob.glob("/Users/shirin/Desktop/Artez/untitled.*"):
    print(file)
函数不会打印任何内容,因为名称中可能没有以
*
结尾的文件。
glob.glob()
函数将为您执行文件扩展

然后,您可以使用此选项进行文件重命名,如下所示:

import glob
import os
from datetime import datetime

current_day = datetime.now().strftime("%Y-%m-%d")

for source_name in glob.glob("/Users/shirin/Desktop/Artez/untitled.*"):
    path, fullname = os.path.split(source_name)
    basename, ext = os.path.splitext(fullname)
    target_name = os.path.join(path, '{}{}'.format(current_day, ext))
    os.rename(source_name, target_name)

Python
datetime
对象可用于获取合适的时间戳。

Python字符串比较器不支持通配符。您可以在文本中的任意位置搜索“untitled.”

import os
    for file in os.listdir("/Users/shirin/Desktop/Artez"):
        if "untitled." in file:
            print(file)
请记住,这将包括在文件的任何位置具有“untitled.”的任何文件。

尝试这种方法

import os
directoryPath = '/Users/shirin/Desktop/Artez'
lstDir = os.walk(directoryPath) 
for root, dirs, files in lstDir:
  for fichero in files:        
    (filename, extension) = os.path.splitext(fichero)
    if filename.find('untitle') != -1: # == 0 if starting with untitle
         os.system('mv '+directoryPath+filename+extension+' '+directoryPath+'$(date +"%Y_%m_%d")'+filename+extension)

你的意思是不是
如果file.startswith(“untitled”)
import os

for file in os.listdir("/Users/shirin/Desktop/Artez"):
   if(file.startswith("untitled")):
      os.rename(file, datetime.date.today().strftime("%B %d, %Y") + "." +  file.split(".")[-1])