Python有一個PHP等價函數嗎?
或者我怎樣才能得到正好在PHP中的相同功能?是否有Python的os.path.normpath()的等價函數?
6
A
回答
6
這裏是我的1:1 normpath()方法的重寫從Python的posixpath.py在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 '.';
}
這將工作完全相同一樣在Python
os.path.normpath()
2
是的,realpath
命令將返回一個規範化的路徑。它類似於Python的os.path.normpath
和os.path.realpath
的組合版本。
但是,它也會解析符號鏈接。如果你不想要這樣的行爲,我不確定你會怎麼做。
相關問題
- 1. 是否有Python的map函數的Java等價物?
- 2. 在MATLAB中是否有等價的Python範圍函數?
- 3. fortran中的Btest函數,python中是否有任何等價物?
- 4. 是否有GetProperty或等價函數?
- 5. 是否有Python的Term :: ANSIScreen等價物?
- 6. 是否有「python -i」的ruby等價物?
- 7. Python是否與Haskell的'mask'或'bracket'函數等價?
- 8. 在Python中是否有Rake等價物?
- 9. Filehelpers,Super CSV:是否有Python等價物?
- 10. 是否有與Stata中Excel的COUNTIFS函數等價的功能?
- 11. 是否有FreeBSD的make_dev()函數的OS X等價物?
- 12. jQuery中是否有與PHP的array_column()等價的函數?
- 13. Dojo中是否有等價的jQuery的add()函數?
- 14. #define是否等價於一個函數?
- 15. 是否有C#等價於VB6的Choose()函數?
- 16. PHP:是否有一個isLetter()函數或等價的?
- 17. Python的等價物的MATLAB psf2otf函數
- 18. Python的等價於R的logspace_add函數?
- 19. JavaScript是否與Python的__getattribute__等價嗎?
- 20. Python等價於Ruby的包函數
- 21. python中的perror等價函數
- 22. 是否有等價的集合的java.util.Properties?
- 23. Rust是否具有與Python的unichr()函數等效的功能?
- 24. 是否有Python的defaultdict的Java等價物?
- 25. 是否有一個模塊等價於node.js的Python的argparse?
- 26. 是否有Python的makedirs()的FTP等價物?
- 27. 是否有等價函數fminbnd最大值?
- 28. NSObject類中是否有任何viewWillAppear等價函數?
- 29. rubinius是否有等價的isitruby19?
- 30. GDL中是否有等價的FSC_COLOR?
PHP的實際路徑更像os.path.abspath()或os.path.realpath() – VolkerK 2010-04-19 19:48:38
@Gordon的等價物:PHP的實際路徑更像Python的os.path.normpath和os.path的組合版本。真實路徑。 – Powerlord 2010-04-19 19:50:31
我認爲這是最接近'os.path.normpath()'功能。無論是這個還是那裏都沒有(至少)內置函數。這取決於OP真正需要什麼...... – 2010-04-19 19:51:59