我尝试使用Python更改文件名,但名称没有改变。
程序必须拍摄照片,保存它,将其复制到服务器,更改复制照片的名称并更改原始照片的名称。 因此,首先我定义一个变量,它将是精确的日期和时间。之后,我拍照并保存为 imagen.jpg 接下来,我将 imagen.jpg 复制到其他路径(服务器路径),并尝试将其名称更改为我之前定义的变量。但名称没有改变,文件也被删除。
之后我用相同的功能更改了原始照片的名称,名称也更改了....我不知道为什么复制的照片没有更改名称。
这是代码:
import shutil
import picamera
import os
fecha = time.strftime("%c") # En esta variable se guarda la fecha actual y la hora para renombrar la foto guardada
camera.capture('/home/pi/Desktop/RaspAlarm/imagen.jpg')
print("Capturando foto")
time.sleep(5)
print("Copiando foto al servidor")
shutil.copy("/home/pi/Desktop/RaspAlarm/imagen.jpg", "/var/www/html/RaspAlarm/Fotos")
time.sleep(1)
os.listdir("/var/www/html/RaspAlarm/Fotos")
os.rename ("/var/www/html/RaspAlarm/Fotos/imagen.jpg", fecha)
print("Cambiando nombre al archivo")
os.rename ("/home/pi/Desktop/RaspAlarm/imagen.jpg", fecha)
time.sleep(1)
print("Foto guardada")
你能帮我吗?谢谢你
您的目的地名称错误。你基本上是在打电话:
os.rename("/var/www/html/RaspAlarm/Fotos/imagen.jpg", "Mon May 8 16:15:07 2017")
虽然你想要的看起来更像
os.rename("/var/www/html/RaspAlarm/Fotos/imagen.jpg", "/var/www/html/RaspAlarm/Fotos/Mon May 8 16:15:07 2017.jpg")
查看 os.rename
的文档一开始你的目的地是错误的!你应该写下所有的路径。 然后你应该删除 fecha 变量中的空格:
fecha = fecha.replace(' ', '')
os.rename("/var/www/html/RaspAlarm/Fotos/imagen.jpg", "/var/www/html/RaspAlarm/Fotos/{}.jpg".format(fecha))