3

私はPythonが初めてで、Pythonが次のことを行うための最良の方法は何だろうと思っています:

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

==action== の後、次のようにパスとファイルを分離したい:

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

これを行う方法を尋ねているのではなく、最小限のコード行を使用してこれを行う最も効率的な方法を求めています。

=編集=

file='/var/log/test.txt' ではなく file='test.txt' の場合はどうなりますか。私はおそらく期待するでしょう:

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

以外

path=''
file_name='test.txt'

これのヒントは何ですか?

4

2 に答える 2

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 ライブラリは可能な限り効率的であると考えなければなりません。

更新/編集に応答するには、パスが指定されておらず、.for パスが必要な場合は、次を追加します。

if not path: path = '.'

すなわち、

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

与えます:

path
'.'

file_name
'test.txt'
于 2012-05-30T12:07:21.903 に答える
7

のドキュメントを参照してください。次のような関数os.pathがあります。split

path, file_name = os.path.split('/var/log/test/txt')
于 2012-05-30T12:07:24.137 に答える