Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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 如何对多个文件使用getmtime_Python_Python 2.7 - Fatal编程技术网

Python 如何对多个文件使用getmtime

Python 如何对多个文件使用getmtime,python,python-2.7,Python,Python 2.7,我当前的python脚本: import ftplib import hashlib import httplib import pytz from datetime import datetime import urllib from pytz import timezone import os.path, time import glob def ftphttp(): ts = os.path.getmtime('Desktop/images/frame00.png') dt = d

我当前的python脚本:

import ftplib
import hashlib
import httplib
import pytz
from datetime import datetime
import urllib
from pytz import timezone
import os.path, time
import glob

def ftphttp():
 ts = os.path.getmtime('Desktop/images/frame00.png') 
 dt = datetime.fromtimestamp(ts, pytz.utc)

 timeZone= timezone('Asia/Singapore')
 #converting the timestamp in ISOdatetime format
 localtime = dt.astimezone(timeZone).isoformat()

 cam = "002"
 lscam = localtime + cam
 ftp = ftplib.FTP('localhost','kevin403','S$ip1234')
 ftp.cwd('/var/www/html/image')

 m=hashlib.md5()
 m.update(lscam)
 dd=m.hexdigest()

 for image in glob.glob(os.path.join('Desktop/images/frame**.png')):
  with open(image, 'rb') as file:
   ftp.storbinary('STOR '+dd+ '.png', file)

 x = httplib.HTTPConnection('localhost', 8086)
 x.connect()
 f = {'ts' : localtime}
 x.request('GET','/camera/store?cam='+cam+'&'+urllib.urlencode(f)+'&fn='+dd)
 y = x.getresponse()
 z=y.read()
 x.close()
 ftp.quit()
目前,这行代码仅用于获取一个文件时间戳:

ts = os.path.getmtime('Desktop/images/frame00.png'). 

但是,如果我从一个文件夹发送多个文件并获得所有文件的时间戳,该怎么办呢。有可能吗?我使用ftplib将多个文件夹从一个文件夹发送到另一个文件夹

如果所讨论的目录是Desktop/images,则可以遍历该目录并获取该目录中所有文件的mtime

你可以替换

ts = os.path.getmtime('Desktop/images/frame00.png') 
dt = datetime.fromtimestamp(ts, pytz.utc)
比如:

dirToCheck = 'Desktop/images'
for root, _, file in os.walk(dirToCheck):
    fileToCheck = os.path.join(root, file)
    ts = os.path.getmtime(fileToCheck) 
    dt = datetime.fromtimestamp(ts, pytz.utc)
    print ts, dt
使用这种方法,您需要给出images目录的绝对路径,还可能需要使用file-timestamp将时间戳存储在列表或字典中

如果您只想使用png,还可以添加一行,如:

if file.endswith(".png"): 
在fileToCheck行之前


这应该可以,除非我误解了你的问题

如果所讨论的目录是Desktop/images,则可以遍历该目录并获取该目录中所有文件的mtime

你可以替换

ts = os.path.getmtime('Desktop/images/frame00.png') 
dt = datetime.fromtimestamp(ts, pytz.utc)
比如:

dirToCheck = 'Desktop/images'
for root, _, file in os.walk(dirToCheck):
    fileToCheck = os.path.join(root, file)
    ts = os.path.getmtime(fileToCheck) 
    dt = datetime.fromtimestamp(ts, pytz.utc)
    print ts, dt
使用这种方法,您需要给出images目录的绝对路径,还可能需要使用file-timestamp将时间戳存储在列表或字典中

如果您只想使用png,还可以添加一行,如:

if file.endswith(".png"): 
在fileToCheck行之前


这应该可以,除非我误解了你的问题

使用列表理解
tss=map(os.path.getmtime,[“Desktop/images/frame01.png”,“Desktop/images/frame02.png”])
@NehalJWani是否可以使用loop?@Alvin,如果我理解正确,您可以从列表中的文件夹(供您参考:)中存储所有具有您选择的扩展名的文件,例如
文件=[r'file_Path',r'filePath',r'filePath']
,然后您可以从列表中循环遍历每个文件路径,如:
对于每个in文件:ts=os.Path.getmtime(each)
,然后使用ts值可以继续进行进一步的逻辑。希望它有助于理解列表?
tss=map(os.Path.getmtime,[“Desktop/images/frame01.png”,“Desktop/images/frame02.png”]
@NehalJWani是否可以使用loop?@Alvin,如果我正确理解您的意思,您可以使用列表中的文件夹(供您参考:)中您选择的任何扩展名存储所有文件,例如
文件=[r'file_Path',r'filePath',r'filePath']
,然后您可以循环浏览列表中的每个文件路径,如:
for each in files:ts=os.path.getmtime(each)
,然后使用ts值继续执行进一步的逻辑。希望有帮助