Hiện tại tôi sử dụng os.path.join
hầu như luôn luôn trong dự án django của tôi để hỗ trợ hệ điều hành chéo; những nơi duy nhất tôi hiện không sử dụng nó là dành cho tên mẫu và URL. Vì vậy, trong các tình huống mà tôi muốn đường dẫn '/path/to/some/file.ext'
Tôi sử dụng os.path.join('path', 'to', 'some', 'file.ext')
.os.path.join có cần thiết không?
Tuy nhiên tôi chỉ thử nghiệm dự án của tôi trên cửa sổ để xem liệu có làm việc tốt/là cần thiết và có vẻ như các cửa sổ hạnh phúc sẽ chấp nhận '/'
hoặc '\\'
(hoặc '\'
khi làm việc bên ngoài của python), và như tất cả các hệ thống UNIX đều sử dụng '/'
nó có vẻ như không có lý do gì để sử dụng '\\'
, trong trường hợp nào là cần thiết để sử dụng os.path.join
ở bất kỳ đâu?
Có tình huống trong đó thêm '/'
hoặc sử dụng posixpath
sẽ gây ra sự cố trên một số hệ điều hành nhất định (không bao gồm XP hoặc thấp hơn vì chúng không còn được hỗ trợ chính thức)? Nếu không, tôi nghĩ tôi sẽ chỉ sử dụng posixpath
hoặc thêm '/'
để tham gia biến với các biến hoặc biến khác bằng chuỗi và không tách riêng đường dẫn chuỗi (vì vậy hãy để nó ở dạng '/path/to/some/file.ext'
) trừ khi có một lý do khác khiến tôi không làm điều đó ngoài nó đập phá đồ đạc.
Để tránh điều này có thể bị đóng như ý kiến chủ yếu, tôi muốn làm rõ rằng câu hỏi cụ thể của tôi là việc không sử dụng os.path.join
sẽ bao giờ gây ra chương trình python không hoạt động như dự định trên hệ điều hành được hỗ trợ.
Mặc dù có lẽ quá bí truyền cho một câu trả lời, bằng cách sử dụng dấu phân cách đường dẫn mã cứng sẽ gây ra không có khả năng di chuyển với RISC OS .. (và [có cổng] (https: // www. python.org/download/other/) để như vậy) – user2864740
Hệ điều hành RISC có tương thích với django, nginx, giám sát viên và các thư viện django khác nhau không? Nếu không, tôi sẽ không cần phải lo lắng về nó trên dự án này, nhưng nếu nó có thể là giá trị tôi suy nghĩ về. – semicolon