我對Python相對比較陌生,我試圖製作一個腳本,用於查找在兩個日期之間創建的文件(照片),並將它們放入一個文件夾。 爲此,我需要以某種方式獲取文件的創建日期(在Windows上爲Im)。 我已經有了一切編碼,但我只需要獲取每張圖片的日期。看到返回日期的形式也很有趣。最好的結果是m/d/y或d/m/y(d =日; m =月,y =年)。 謝謝大家!我是這個論壇的新手Python:找到兩個設置日期之間創建日期的文件(PNG)
回答
請參閱Python os
包中的基本系統命令,包括帶選項的目錄列表。您將能夠提取文件日期。有關日期操作,請參閱Python datetime
包。
此外,請檢查您的版本上的可用Windows命令:它們中的大多數都具有帶日期參數的搜索功能;你可以簡單地使用OS系統命令返回所需的文件名。
我想你是以某種方式列出文件,如果是的話,然後使用 os.stat(path).st_ctime
得到在Windows中的創建時間,然後使用日期時間模塊字符串格式它。
https://docs.python.org/2/library/stat.html#stat.ST_CTIME
https://stackoverflow.com/a/39359270/928680 這個例子說明如何將的mtime(修改)時間轉換,但同樣適用於的ctime(創建時間)
一旦你擁有了它的相對簡單的ctime,以檢查是否該在一系列
https://stackoverflow.com/a/5464465/928680
,您將需要轉換爲字符串之前做你的約會邏輯下降。
解決方案之一,不是很有效率..只是爲了顯示這可以做的一種方式。
import os
from datetime import datetime
def filter_files(path, start_date, end_date, date_format="%Y"):
result = []
start_time_obj = datetime.strptime(start_date, date_format)
end_time_obj = datetime.strptime(end_date, date_format)
for file in os.listdir(path):
c_time = datetime.fromtimestamp(os.stat(file).st_ctime)
if start_time_obj <= c_time <= end_time_obj:
result.append("{}, {}".format(os.path.join(path, file), c_time))
return result
if __name__ == "__main__":
print "\n".join(filter_files("/Users/Jagadish/Desktop", "2017-05-31", "2017-06-02", "%Y-%m-%d"))
乾杯!
非常感謝!我後來測試這個。另外:是否有一種「簡單」的方式來獲取文件夾內的所有文件,然後搜索在指定的時間範圍內創建的文件?:) – crazycoder69
我已經添加了一個示例到答案,該文件在兩個日期之間過濾文件 – Jag
您可以使用subprocess
在文件上運行shell命令來獲取該文件的meta_data。
import re
from subprocess import check_output
meta_data = check_output('wmic datafile where Name="C:\\\\Users\\\\username\\\\Pictures\\\\xyz.jpg"', shell=True)
# Note that you have to use '\\\\' instead of '\\' for specifying path of the file
pattern = re.compile(r'\b(\d{14})\b.*')
re.findall(pattern,meta_data.decode())
=> ['20161007174858'] # This is the created date of your file in format - YYYYMMDDHHMMSS
- 1. 查找兩個日期之間發生的日期日期
- 2. 在兩個日期之間創建一個日期表
- 3. 找到兩個日期時間數組之間的重複日期python
- 4. 在兩個日期之間找到丟失的日期
- 5. 得到兩個日期之間的日期,按星期幾
- 6. 設置文件的創建日期
- 7. 如何找到兩日期之間的具體日期
- 8. 兩個日期之間的差異python
- 9. 如何查找兩個指定日期之間的日期?
- 10. iPhone:如何查找兩個選定日期之間的日期?
- 11. 在兩個日期之間的特定日期的查找日期PHP
- 12. 找到兩個日期之間的星期日數,如果星期日來自兩個日期之間,然後減去星期日
- 13. 查找日期向量中的日期是否落在兩個日期之間
- 14. 在兩個日期之間查找日期(最佳做法)
- 15. 兩個字段中的兩個日期之間的日期
- 16. 如何找到兩個日期之間的星期差異
- 17. 在兩個輸入日期之間創建日期和時間列表
- 18. 找到第三個星期日每個月給兩個日期之間
- 19. python3.2)如何在兩個日期之間找到工作日?
- 20. Dexie:兩個日期之間的事件
- 21. 獲取兩個日期之間的最大日期/時間
- 22. 日期間的計算在兩個日期之間
- 23. 兩個日期之間的所有日期,間隔30分鐘
- 24. 開始日期到結束日期之間的查找時間
- 25. 在兩個給定日期之間創建日期序列 - 二月份失敗
- 26. 找到兩個日期時間之間的TotalDays?變量
- 27. 找到兩個日期時間之間的微小差異
- 28. 找到兩個日期之間的時間衝突
- 29. 查找SQL Server中兩個日期之間的工作日
- 30. 如何找到兩個日期之間的總對每個值
到目前爲止您嘗試了什麼? – Mureinik
您正在搜索特定文件夾或整個系統中的文件嗎? –