2012-05-26 8 views
6

Rozwinąłem aplikację w python i pyside. Rozwinąłem to na maszynie z Linuksem. Teraz chcę wdrożyć go na komputerze z systemem Windows. Tutaj problemem jest ścieżka. W linuksowym ukośniku (/) używanym jako separator, ale system Windows używa ukośnika (\) jako separatora.Jak naprawić błąd przekierowania do przodu w ścieżce w oknach w python?

W systemie Windows wszystkie ścieżki nie działają. Istnieje kilka ścieżek w aplikacji (arkusz stylów, obrazów, log itp)

Jego trudno zmienić wszystkie ścieżki jak większość ścieżek są twarde jak kod:

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

Przykład:

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

Czy jest jakiś problem związany z tym problemem.

+11

Kiedy system Windows przestał akceptować "/" lub "\" w ścieżkach? Jest dozwolony od DOS. – stark

+3

Przykład wygląda jak CSS, w którym zawsze powinieneś używać ukośników, nawet w systemie Windows, nawet jeśli odnośnik jest lokalny: http://blogs.msdn.com/b/ie/archive/2006/12/06/file -uris-in-windows.aspx – Thomas

+0

Jest to css używany w aplikacjach komputerowych przy użyciu qt/pyside – anils

Odpowiedz

13

os.path.join() użyje odpowiedniego rodzaju ukośnika na prawej platformie.

+0

W takim przypadku wszystkie ścieżki muszą zostać zaktualizowane. – anils

+2

Tak. To jest to, na co się rejestrujesz, gdy coś hardcoding :) – Thomas

+0

Problem rozwiązany przy użyciu find i zastąp i dodano funkcję assetPath, która zwraca ścieżkę obrazu i ścieżkę kompilacji za pomocą os.path.join(). Thak you Thomas !!! – anils

Powiązane problemy