2010-08-01 27 views
18
import os 
path= os.getcwd() 
final= path +'\xulrunner.exe ' + path + '\application.ini' 
print final 

tôi muốn đặt ra:bằng xuyệc ngược trong python (không để thoát)

c: \ python25 \ xulrunner.exe c: \ python25 \ application.ini

Tôi không muốn dấu gạch chéo ngược để làm việc như chuỗi, tôi có nghĩa là không muốn nó thoát ra hoặc làm bất cứ điều gì đặc biệt. Nhưng tôi nhận được một lỗi

không hợp lệ \ x thoát

Làm thế nào tôi có thể sử dụng một '\' như một '\' và không phải là một lối thoát?

Trả lời

25

Để trả lời câu hỏi của bạn trực tiếp, hãy đặt r ở phía trước chuỗi.

final= path + r'\xulrunner.exe ' + path + r'\application.ini' 

Nhưng một giải pháp tốt hơn sẽ là os.path.join:

final = os.path.join(path, 'xulrunner.exe') + ' ' + \ 
     os.path.join(path, 'application.ini') 

(dấu chéo ngược có được thoát một dòng mới, nhưng bạn có thể đặt toàn bộ điều trên cùng một dòng nếu bạn muốn)

tôi sẽ đề cập rằng bạn có thể sử dụng dấu gạch chéo chuyển tiếp trong đường dẫn tệp và Python sẽ tự động chuyển đổi chúng thành dấu phân cách chính xác (dấu gạch chéo ngược trên Windows) khi cần thiết. Vì vậy,

final = path + '/xulrunner.exe ' + path + '/application.ini' 

sẽ hoạt động. Nhưng nó vẫn thích hợp hơn để sử dụng os.path.join vì điều đó làm cho nó rõ ràng những gì bạn đang cố gắng làm.

+4

+1: 'os.path.join' –

+1

Python không chuyển đổi'/'thành' \ ', thay vì'/'là dấu tách đường dẫn hợp lệ trên Windows –

18

Bạn có thể thoát khỏi dấu gạch chéo. Sử dụng \\ và bạn chỉ nhận được một dấu gạch chéo.

+1

hoạt động tốt và nhanh chóng và dễ dàng – Vass

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