2016-04-06 4 views
1

Pythonを使用してファイル名をパスから区切る方法は?Pythonでファイル名とパスを区切る方法(PyQt4.QtCore.QString)

filename=my_path.split("/")[-1] 

しかし、私はまた、私が使用することはできません、セパレータはOS固有のだと思う。私はそれが好き行うことができますPyQt4.QtCore.QString

私はPyQt4を使用していて、私の文字列は、Pythonの文字列ではなく、

os.path.basenameのようなものです。なぜなら、元のPython文字列のためだけに機能するからです。それを行うための最良のオプションは何でしょうか?

+0

繰り返しの質問 http://stackoverflow.com/questions/8384737/python-extract-file-name-from-path-no-matter-what-the-os-path-format –

+0

@PrakharAgrawalこの質問基本的なpython文字列として保存されたパスについて – mrgloom

答えて

1

使用する前にQStringをPython strに変換できます。例:単一のステップで、

os.path.basename(filename_str) 

または::

filename_str = unicode(my_path) 

...そしてファイル名を取得するために、標準のPython os機能を使用

os.path.basename(unicode(my_path)) 

注意あなたが避けることができますnewer PyQt4 API v2を使用するか、PyQt5を使用してこの問題を解決してください。これらの更新で、PyQt関数は可能な限りネイティブのPython文字列(および他の変数)を返し、変換せずにそれらを扱うことができます。それは事をもっと簡単にします。

+1

非ASCII文字のエラーをコード化しないように、常に 'unicode'を使って' QString'を変換してください。 – ekhumoro

+0

ありがとうございます@ echumoro、更新しました。 – mfitzp

関連する問題