Sono curioso quando queste due funzioni restituiranno valori diversi. Inoltre, se si potesse chiarire la differenza tra un percorso/directory/file che sarebbe apprezzato.Differenza tra os.path.exists e os.path.isfile in python
risposta
Una directory verifica true per esiste, ma false per isfile. Esistono alcuni tipi diversi di oggetti del filesystem per i quali è anche vero.
isfile indica che si tratta di un file normale. È più specifico di quello che esiste.
Come avete già scoperto, la differenza tra exists
e isfile
è il fatto che gli ex rendimenti True
nel caso in cui il percorso dato è una directory o un file, mentre il secondo restituisce solo True
se il percorso punta a un file.
directory e file sono molto simili dal punto di vista tecnico. Un file può contenere qualsiasi tipo di dati. Una directory è solo una voce speciale nel file system (almeno sui sistemi operativi Unix è solo un file speciale) che rappresenta il fatto che potrebbe contenere file e altre directory. È un mezzo utile per costruire una struttura dati. Usando le directory, puoi organizzare i tuoi dati in una struttura gerarchica.
Soprattutto nel mondo Windows, le directory sono spesso denominate "cartelle". Sono sicuro che tu stesso stai usando "cartelle" per organizzare i tuoi file.
A percorso è un puntatore non ambiguo a una risorsa nel file system. Può indicare un file o una directory.
Quindi se isfile (x) restituisce true, esiste (x) restituisce true ogni volta? –
Sì, 'isfile (path) == True' implica' exists (path) == True'. –
'os.path.isfile' restituirà false se l'argomento non è un file: vale a dire, è una directory o non esiste. – 2rs2ts
os.path.exists restituisce se è un percorso valido (verifica la presenza di directory o file, entrambi) e os.path.isfile restituisce se è un file. quindi, quando os.path.isfile è True, os.path.exists anche True e quando os.path.exists è False, os.path.isfile è anche False. spero che questo ti faccia capire. Saluti ! :) – rnbcoder