Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

problemi con l'esplorazione del file system

m
matteo basile (340 points)
2 11 16
in Programmare in Python by (340 points)
studiando sul libro di Pellacini provo la funzione che lui propone nel cap 14.1 sulla stampa del contenuto di una directory:

import os

def print_dir(dirpath):
    "stampa percorsi e directory contenute nella directory dirpath"
    for name in os.listdir(dirpath):
        if name.startswith('.'): continue
        print(os.path.join(dirpath, name))

questo è il risultato con spyder:

print_dir("Downloads")
Traceback (most recent call last):

  File "<ipython-input-23-cbcd2a6984fb>", line 1, in <module>
    print_dir("Downloads")

  File "C:\Users\matteo\Downloads\files(4)\files\esplora_file.py", line 11, in print_dir
    for name in os.listdir(dirpath):

FileNotFoundError: [WinError 3] Impossibile trovare il percorso specificato: 'Downloads'
665 views

3 Answers

g
giacomo_venturini (6680 points)
3 6 40
by (6.7k points)
sembra che la cartella "Downloads" non viene trovata nel path in cui è eseguito il programma (infatti è alcuni livelli sopra), prova a passare "C:\Users\matteo\Downloads" come argomento della funzione, forse anche "../../../Downloads"
m
matteo basile (340 points)
2 11 16
by (340 points)
perfetto così funziona sia con \\   sia con /

grazie Giacomo
giordano_sannino (13650 points)
7 16 81
by (13.7k points)
path sbagliato
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
aggiungo che conviene usare SEMPRE il separatore '/' che funziona sia su Linux che in Windoz