最有效的方法来从字符串子串路径和文件

时间:2012-05-30 12:03:42

标签: python substring

我是python的新手,只是想知道python执行以下操作的最佳方法是什么:

file='/var/log/test.txt'
==action==

在== action ==之后,我希望将路径和文件分开,如:

path='/var/log'
file_name='test.txt'

我不是在问这个怎么做,我问最有效的方法是用最少的代码行来做这件事。

= EDIT =

如果我的文件=' test.txt'而不是file =' /var/log/test.txt'。我更有可能期待:

path='.'
path='test.txt'

除了

path=''
file_name='test.txt'

那是什么呢?

2 个答案:

答案 0 :(得分:11)

file = '/var/log/test.txt'
path, file_name = os.path.split(file)

的产率:

path
'/var/log'

file_name
'test.txt'

使用os.path.split()需要import os。我不得不认为Python库尽可能高效。

要响应更新/编辑,如果未指定路径且您想要路径为.,请添加:

if not path: path = '.'

即,

file = 'test.txt'
path, file_name = os.path.split(file)
if not path: path = '.'

给出:

path
'.'

file_name
'test.txt'

答案 1 :(得分:7)

您应该查看os.path documentationsplit函数,例如:

path, file_name = os.path.split('/var/log/test/txt')