7

Python と pyside でアプリケーションを開発しました。Linuxマシンで開発しました。今、私はそれを Windows マシンにデプロイしたいと考えています。ここで問題はパスです。Linux ではスラッシュ (/) がセパレーターとして使用されますが、Windows ではバックスラッシュ (\) がセパレーターとして使用されます。

そのため、Windows ではすべてのパスが機能しません。アプリケーションにはいくつかのパスがあります (スタイルシート、画像、ログなど)。

ほとんどのパスは次のようなハードコードであるため、すべてのパスを変更するのは困難です。

 rootPath()+'/static/images/add.png' #rootPath return os.path...

例:

 colorPickerBtnStyle = 'background:url(' + rootPath() + '/static/images/color_icon.png);background-repeat: no-repeat;background-position:center center;'

この問題の回避策はありますか。

4

3 に答える 3

14

os.path.join()適切なプラットフォームで適切な種類のスラッシュを使用します。

于 2012-05-26T13:09:23.017 に答える
13

os.sepスラッシュを明示的に書く代わりに使用してください。

于 2012-05-26T13:07:57.853 に答える
0

または、結合を使用できます。

os.sep.join((dir, file))
于 2018-11-11T19:21:22.010 に答える