1

Windowsで角かっこを含むファイルを使用していますが、外部プロセスで引用符が必要です。

場所を操作しようとしていますが、文字列が引用符で渡されているため、os.path.splitを使用すると、二重引用符も分割されます。入力文字列をチェックしたり、二重引用符を削除したり置き換えたりする必要がないように、これを行うためのより良い方法はありますか?ファイル名を二重引用符のない新しいパスに結合します。

fileWithPath = r'"C:\TEMP\my(file).txt"'
... do some stuff ...
sourcepath, filename = os.path.split(fileWithPath)

sourcepathの値は次のとおりです:'"C:\ TEMP'

ファイル名の値:'my(file).txt "'

4

1 に答える 1

3

最初に頭に浮かぶのは、Windowsが提供する二重引用符を削除することです。

firsWithPath = fileWithPath.replace('"', '')

しかし、いくつかの引用符を保持し、最後に1つだけ引用符を削除したい場合は、次の方法を使用することをお勧めします。

firsWithPath = fileWithPath.strip('"')

これらの操作のいずれかの後、分割は'\\'問題なく機能するはずです。

編集

@jdiがコメントで言及しているように、移植性os.path.sepのためではなく、実際に分割する必要があります'\\'

于 2012-11-21T20:06:56.253 に答える