Esiste una funzione equivalente PHP per Python os.path.normpath()
?
O come posso ottenere la esattamente uguale a stessa funzionalità in PHP?Esiste una funzione equivalente PHP per Python os.path.normpath()?
6
A
risposta
6
Ecco il mio 1: 1 riscrittura del normpath() metodo dal posixpath.py di Python in PHP:
function normpath($path)
{
if (empty($path))
return '.';
if (strpos($path, '/') === 0)
$initial_slashes = true;
else
$initial_slashes = false;
if (
($initial_slashes) &&
(strpos($path, '//') === 0) &&
(strpos($path, '///') === false)
)
$initial_slashes = 2;
$initial_slashes = (int) $initial_slashes;
$comps = explode('/', $path);
$new_comps = array();
foreach ($comps as $comp)
{
if (in_array($comp, array('', '.')))
continue;
if (
($comp != '..') ||
(!$initial_slashes && !$new_comps) ||
($new_comps && (end($new_comps) == '..'))
)
array_push($new_comps, $comp);
elseif ($new_comps)
array_pop($new_comps);
}
$comps = $new_comps;
$path = implode('/', $comps);
if ($initial_slashes)
$path = str_repeat('/', $initial_slashes) . $path;
if ($path)
return $path;
else
return '.';
}
Ciò funzionerà esattamente lo stesso di os.path.normpath() in Python
2
Sì, il comando realpath
restituirà un percorso normalizzato. È simile a una versione combinata di Python os.path.normpath
e os.path.realpath
.
Tuttavia, risolverà anche i collegamenti simbolici. Non sono sicuro di cosa faresti se non volessi quel comportamento.
Problemi correlati
- 1. equivalente in bash di os.path.normpath di Python?
- 2. Esiste un Python equivalente alla funzione PHP htmlspecialchars()?
- 3. Esiste un equivalente di hash_hmac di PHP in Python/Django?
- 4. Elenco PHP() equivalente in Python
- 5. Esiste una funzione "mappa" in php?
- 6. equivalente PHP per un decoratore python?
- 7. Esiste un equivalente Cake per Python?
- 8. Esiste un equivalente in C++ della funzione explode() di PHP?
- 9. Esiste un equivalente Java della funzione http_build_query di PHP?
- 10. Esiste un equivalente alla funzione MATLAB bsxfun in python?
- 11. Esiste un equivalente della funzione di intervallo Python in MATLAB?
- 12. Esiste un Python equivalente alla funzione smooth.spline in R
- 13. Esiste una funzione equivalente alla funzione Oracle NVL in Mysql?
- 14. Esiste un equivalente Python della funzione conv2 di MATLAB?
- 15. Esiste un equivalente MV MV ASP per PHP require_once()?
- 16. VisualVM equivalente per Python
- 17. Autotest equivalente per PHP?
- 18. Python equivalente a "php -s"
- 19. Funzione equivalente per file_get_contents()?
- 20. Passport.js equivalente per Python?
- 21. PHP - Equivalente per Python PDB (Debugger) in PHP?
- 22. Esiste una funzione simile a setTimeout() (JavaScript) per PHP?
- 23. cos'è Python equivalente a PHP $ _SERVER?
- 24. Esiste una funzione 'foreach' in Python 3?
- 25. Esiste una funzione mappa?
- 26. Esiste un equivalente PHP in sqlite3_limit?
- 27. Esiste una funzione "freq" in numpy/python?
- 28. Esiste una ruggine equivalente alla funzione orologio in C++?
- 29. esiste un equivalente PHP per javascripts a = b && b.c || d
- 30. Esiste una funzione equivalente che restituisce il carattere nella posizione `X` in PHP?
Realpath di PHP sarebbe più simile all'equivalente di os.path.abspath() o os.path.realpath() – VolkerK
@Gordon: il percorso in PHP è più simile a una versione combinata di os.path.normpath e os.path di Python. realpath. – Powerlord
Penso che questo sia il più vicino possibile alla funzionalità 'os.path.normpath()'. O questo o non c'è (almeno) la funzione built-in per questo. Dipende da cosa l'OP ha davvero bisogno ... –