Tôi mới dùng Python nên tôi có thể sắp sửa hoàn toàn sai, nhưng tôi gặp sự cố khi nhận và thay đổi thư mục của tệp. Kịch bản của tôi có nhiều tên tệp có thể nằm trong bất kỳ thư mục nào. Trong kịch bản của tôi, tôi cần python để thay đổi vào thư mục của tập tin và sau đó thực hiện một số hành động. Tuy nhiên, tôi đang gặp sự cố khi thay đổi thư mục.Định dạng Đường dẫn Tệp
Dưới đây là những gì tôi đã cố gắng cho đến nay:
path=os.path.split(<file path>)
os.chdir(path[0])
<Do things to file specified by path[1]>
Con đường tôi đã nhận được các đường dẫn tập tin là bằng cách kéo từ nhà thám hiểm vào dòng lệnh. Điều này nhập tên đường dẫn như một cái gì đó như "C:\foo\bar\file_name.txt"
. Khi tôi chạy dòng đầu tiên trong thông dịch viên, tôi lấy ra ('C:\\foo\bar','file_name.txt')
. Vấn đề là vì một lý do nào đó, dấu gạch chéo ngược cuối cùng không được tự động thoát vì vậy khi tôi chạy dòng os.chdir(path[0])
tôi gặp lỗi.
Câu hỏi của tôi là tại sao dấu gạch chéo ngược cuối cùng không tự động được thoát như những người khác? Làm thế nào tôi có thể tự thoát khỏi dấu gạch chéo ngược cuối cùng? Có cách nào tốt hơn để có được thư mục của tập tin và thay đổi nó?
Có một chút bất thường (mặc dù không phải lúc nào cũng sai) để thoát ra khỏi python để chạy mọi thứ tại dấu nhắc lệnh. Chính xác thì "thực hiện một số hành động" là gì? Có lẽ chúng chỉ có thể được thực hiện bằng Python trực tiếp. – Gerrat
Tôi không nghĩ rhololkeolke đang thoát khỏi vỏ Python; bạn vẫn có thể kéo các tập tin vào cửa sổ giao diện điều khiển để có được đường dẫn trong khi bên trong vỏ, như tôi vừa mới nhận thấy. Tất nhiên ngay cả khi bạn đã phải làm một cái gì đó bên ngoài trình bao, nếu nó chỉ là một hành động duy nhất, bạn chỉ có thể sử dụng 'os.system()'. Và thậm chí nếu nó là nhiều hành động, nếu nó là một cái gì đó lặp đi lặp lại thường xuyên, bạn cũng có thể viết một tập tin thực thi và gọi đó bằng cách sử dụng 'os.system()'. Tất nhiên không ai trong số đó phải làm gì với những gì rhololkeolke đang hỏi. – JAB