Pythonでファイルパスの前に「\\?\」を追加する方法
質問
私はPythonでいくつかの長いファイルパス(Windowsの場合)で動作するようにしようとしているし、いくつかの問題に遭遇しています。質問を読んだ後、私は追加する必要があるかのように見える、のここhref="https://stackoverflow.com/questions/1365797/python-long-filename-support-broken-in-windows"> のポイントをhref="https://stackoverflow.com/questions/647769/why-cant-pythons-raw-string-literals-end-with-a-single-backslash">
あなたが既に持っているファイルパスの前に単にアペンドあなたをすることができますどこか他のPythonの標準ライブラリまたは「\\?\」のいずれかで何かありますか?やPythonを使用してWindowsで長いファイルパスを操作するための任意の他の仕事の周りにはありますか?何をする、そのような単純なことのように思えるが、私は私の人生のためにそれを把握することはできません。
解決
"\\\\?\\" あなたが望む正確に文字列を与える必要があります。
長い答え:もちろん、あなたがバックスラッシュとPythonで文字列を終了することができます。それは「生」の文字列(「R」で始まるもの)だときあなたはそうすることはできません。これはあなたが通常含まれている文字列(たくさんの)バックスラッシュ(悪名高い「傾いたつまようじ」症候群を避けるために; - )に使用)
他のヒント
でも、生の文字列で、あなたがバックスラッシュで終わることができます
>>> print r'\\?\D:\Blah' + '\\'
\\?\D:\Blah\
あるいは
>>> print r'\\?\D:\Blah' '\\'
\\?\D:\Blah\
パイソン以来の一つにリテラル文字列に連結します。