2012-05-26 18 views
6

Tôi đã phát triển một ứng dụng trong python và pyside. Tôi đã phát triển nó trên máy Linux. Bây giờ tôi muốn triển khai nó trên cửa sổ máy. Vấn đề ở đây là đường dẫn. Trong dấu gạch chéo phía trước Linux (/) được sử dụng như dấu phân tách nhưng cửa sổ sử dụng dấu gạch chéo ngược (\) làm dấu tách.Làm thế nào để khắc phục vấn đề cắt giảm về phía trước trong đường dẫn trên cửa sổ trong python?

Vì vậy, trên cửa sổ tất cả các đường dẫn không hoạt động. Có một số đường dẫn trong ứng dụng (ví stylesheet, hình ảnh, đăng nhập, vv)

của nó khó có thể thay đổi tất cả những con đường như hầu hết các con đường là mã cứng như:

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

Ví dụ:

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

Có bất kỳ công việc nào xung quanh cho vấn đề này không.

+11

Khi nào Windows ngừng chấp nhận "/" hoặc "\" trong đường dẫn? Nó cho phép họ kể từ khi DOS. – stark

+3

Ví dụ này giống như CSS, nơi bạn luôn nên sử dụng dấu gạch chéo chuyển tiếp ngay cả trên Windows, ngay cả khi tệp được tham chiếu là cục bộ: http://blogs.msdn.com/b/ie/archive/2006/12/06/file -uris-in-windows.aspx – Thomas

+0

Đó là css được sử dụng trong ứng dụng máy tính để bàn bằng cách sử dụng qt/pyside – anils

Trả lời

13

os.path.join() sẽ sử dụng đúng loại dấu gạch chéo trên nền tảng bên phải.

+0

Trong trường hợp này, tất cả các đường dẫn cần được cập nhật. – anils

+2

Có. Đó là những gì bạn đăng ký khi viết mã cứng :) – Thomas

+0

Sự cố được giải quyết bằng cách sử dụng tìm và thay thế và thêm hàm assetPath trả về đường dẫn hình ảnh và tạo đường dẫn bằng cách sử dụng os.path.join(). Thak bạn Thomas !!! – anils

Các vấn đề liên quan