2016-04-19 2 views
0

Вот код я написал:Использование os.listdir(), см, если объект является файлом или каталогом

import os 

    for item in os.listdir("C:/"): 
     if os.path.isfile(item): 
      print(item + " is a file") 
     elif os.path.isdir(item): 
      print(item + " is a dir") 
     else: 
      print("Unknown!") 

Ответ:

Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 
Unknown! 

Process finished with exit code 0 

Что я сделал неправильно. Я думаю, возможно, это потому, что папка заблокирована или зашифрована. Пожалуйста, дайте руку!

Большое спасибо

+2

'print (item +" ни файл ни dir ")' – Jasper

ответ

0

Вам необходимо пройти полный путь к isfile() и isdir().

import os 


path = "C:" 
for item in os.listdir(path): 
    item = os.path.join(path, item) 
    if os.path.isfile(item): 
     print(item + " is a file") 
    elif os.path.isdir(item): 
     print(item + " is a dir") 
    else: 
     print("Unknown!") 
+0

Это сработало для меня .. Большое спасибо! – user2315506

+0

Но путь должен быть таким: path = "C: /" – user2315506

+0

Я рад, что смог помочь! Если вы удовлетворены, вы можете поддержать и принять его, чтобы закрыть вопрос. –

Смежные вопросы