2016-09-12 13 views
-1

私はPythonを学ぶ過程にあるので、私はこのためにPythonを使うことにしました。X日より古いディレクトリを削除しますか?

私はこのための理論を持っていますが、os.statはリストを取ることはできませんが、文字列またはintのように見えます。今私は行く前に印刷するだけで、物事を削除します。

import os 
import time 

path = "\\\\path\\to\\videoroot\\" 
now = time.time() 
old = now - 1296000 

for root, dirs, files in os.walk(path, topdown=False): 
    if time.ctime(os.path.getmtime(dirs) < old: 
     print (dirs) 

出力/エラーメッセージ:

return os.stat(filename).st_mtime 
    TypeError: argument should be string, bytes or integer, not list 
+1

エラーメッセージのどの部分がクリアされていませんか?メッセージの状態として、受け入れ可能な型(文字列、バイト、整数)の値の代わりにリストを渡しています。 – Nicarus

+0

なぜ尋ねるのではなく、どのように求めているのですか? –

答えて

6

あなたのコードの問題は、あなたがos.path.getmtime()dirsを渡しているということです、そしてdirsos.walk

だから、あなたができるためdocumentationに指定されているlistです

import os 
import time 

path = "\\\\path\\to\\videoroot\\" 
now = time.time() 
old = now - 1296000 

for root, dirs, files in os.walk(path, topdown=False): 
    for _dir in dirs: 
     if time.ctime(os.path.getmtime(_dir) < old: 
      print (_dir) 
+0

ああ、あなたが何をしているのか分かります。私はそれを行ってあげるよ。ありがとうございました! –

+1

Chris:[_Howは回答を受け入れていますか?_](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – martineau

+0

@martimeaiは通常、それを確認する必要がありますあなたのニーズを満たしました。この場合、彼の答えは受け入れられました。 –

関連する問題