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

She*_*jie 3 python substring

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

file='/var/log/test.txt'
==action==
Run Code Online (Sandbox Code Playgroud)

在== action ==之后,我想得到的路径和文件分开如下:

path='/var/log'
file_name='test.txt'
Run Code Online (Sandbox Code Playgroud)

我不是问如何做到这一点,我问最有效的方法是使用最少的代码行来做到这一点.

= EDIT =

如果我的文件='test.txt'而不是file ='/ var/log/test.txt'怎么办?我更可能期望:

path='.'
path='test.txt'
Run Code Online (Sandbox Code Playgroud)

以外

path=''
file_name='test.txt'
Run Code Online (Sandbox Code Playgroud)

这是什么意思呢?

Lev*_*von 11

file = '/var/log/test.txt'
path, file_name = os.path.split(file)
Run Code Online (Sandbox Code Playgroud)

收益率:

path
'/var/log'

file_name
'test.txt'
Run Code Online (Sandbox Code Playgroud)

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

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

if not path: path = '.'
Run Code Online (Sandbox Code Playgroud)

也就是说,

file = 'test.txt'
path, file_name = os.path.split(file)
if not path: path = '.'
Run Code Online (Sandbox Code Playgroud)

得到:

path
'.'

file_name
'test.txt'
Run Code Online (Sandbox Code Playgroud)


uhz*_*uhz 7

你应该看看文件os.path,有一个split功能,例如:

path, file_name = os.path.split('/var/log/test/txt')
Run Code Online (Sandbox Code Playgroud)