我對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. Xcode - 如何找到兩個日期之間的中間日期
- 3. 查找兩個日期之間發生的日期日期
- 4. 創建兩個日期之間的所有日期的向量
- 5. 在兩個日期之間創建一個日期表
- 6. 設置兩個日期之間的特定日期
- 7. 找到兩個日期時間數組之間的重複日期python
- 8. 在兩個日期之間找到丟失的日期
- 9. 檢索日期在兩個日期之間的文件
- 10. 設置文件的創建日期
- 11. 得到兩個日期之間的日期,按星期幾
- 12. 如何找到兩日期之間的具體日期
- 13. 兩個日期之間的差異python
- 14. 查找兩個日期之間的日期Jquery/JS
- 15. iPhone:如何查找兩個選定日期之間的日期?
- 16. 如何查找兩個指定日期之間的日期?
- 17. 在兩個日期之間的特定日期的查找日期PHP
- 18. 找到兩個日期之間的星期日數,如果星期日來自兩個日期之間,然後減去星期日
- 19. 查找日期向量中的日期是否落在兩個日期之間
- 20. 在兩個日期之間查找日期(最佳做法)
- 21. 查找值如果日期落在兩個日期之間
- 22. SQL - 查找日期是否在兩個日期之間
- 23. 兩個字段中的兩個日期之間的日期
- 24. 如何找到兩個日期之間的星期差異
- 25. 在兩個輸入日期之間創建日期和時間列表
- 26. 兩個Java日期之間的右期
- 27. 找到第三個星期日每個月給兩個日期之間
- 28. python3.2)如何在兩個日期之間找到工作日?
- 29. Dexie:兩個日期之間的事件
- 30. 使用Google Apps腳本在評估之間調整日期之間的日期文件創建日期值
到目前爲止您嘗試了什麼? – Mureinik
您正在搜索特定文件夾或整個系統中的文件嗎? –