2017-09-20 8 views
0

私はルートディレクトリから再帰的にすべてのファイルの詳細(ディレクトリではない)をリストするPythonスクリプトを持っています。ファイルの作成日はPythonで1970-01-01 00:00:00と表示されています

import sys,os 
import datetime as dt 
from datetime import datetime 

root = r"C:\Users\ron\Downloads\xyz" 

for path, subdirs, files in os.walk(root): 
    for name in files: 
     fp = os.path.join(path, name) 
     try: 
      ctime = os.path.getctime(name) 
     except OSError: 
      ctime = 0 
     created_date = datetime.fromtimestamp(ctime) 
     print(name,path,os.path.getsize(fp),created_date) 

名パスのサイズは大丈夫ですが、作成された日付はすべてのヘルプは高く評価されて1970-01-01 00:00:00

として表示されます。前もって感謝します。

+1

'os.path.getctime(名)' 'os.path.getctime(FP)でなければなりません' –

+2

あなたは '日時を行うと0に' ctime'を設定しているいくつかの例外調達があります。 fromtimestamp(0) 'それは、' 1970-01-01 00:00:00'の日付を返します。 – MrPyCharm

+0

@Rawingああ、それは私がやった間違いです。ご協力いただき誠にありがとうございます。 –

答えて

0

os.path.getctime(name)は、現在のエポックから秒単位で経過した時間を返します。エポックは1970-01-01 00:00:00から始まり、エポックの開始点を返したらctime = 0というOSErrorがあることを意味します。

0

入力エラーが行番号11にある可能性があります。

これを変更して問題なく動作します。

ctime = os.path.getctime(fp)

関連する問題