Làm cách nào để thay đổi thư mục vào thư mục bằng tập lệnh python của tôi? Cho đến nay tôi đã tìm ra tôi nên sử dụng os.chdir
và sys.argv[0]
. Tôi chắc chắn có một cách tốt hơn sau đó để viết chức năng của riêng tôi để phân tích argv [0].Thay đổi thư mục vào thư mục của tập lệnh Python
Trả lời
os.chdir(os.path.dirname(__file__))
vì lý do gì __file__ là C: \ dev \ Python25 \ Lib \ idlelib để thay thế nhanh chóng bằng argv [0] đã giải quyết nó. +1 và kiểm tra đánh dấu –
Ngoài ra, tùy thuộc vào nền tảng bạn có thể muốn sử dụng 'os.path.abspath' trên kết quả của' os.path.dirname' để đảm bảo mọi liên kết tượng trưng hoặc chuyển hướng hệ thống tệp khác được mở rộng đúng cách. –
Đôi khi __file__
không được xác định, trong trường hợp này bạn có thể thử sys.path[0]
@Miki - khi nào '__file__' không được xác định? –
@RobBednark: 'python3.3 -c" print (__ file __) "' –
@JanusTroelsen: Cũng đúng với Python 2.7. – George
os.chdir(os.path.dirname(os.path.abspath(__file__)))
nên làm điều đó.
os.chdir(os.path.dirname(__file__))
sẽ không hoạt động nếu tập lệnh được chạy từ thư mục hiện có.
trên hệ điều hành windows, nếu bạn gọi cái gì đó như python somefile.py này os.chdir (os.path.dirname (__ file__)) sẽ ném một WindowsError. Nhưng điều này sẽ phù hợp với mọi trường hợp:
import os
absFilePath = os.path.abspath(__file__)
os.chdir(os.path.dirname(absFilePath))
- 1. Python: thư mục của tập lệnh
- 2. Viết vào một thư mục mới bằng Python mà không thay đổi thư mục
- 3. Để thay đổi thư mục bên trong tập lệnh ruby?
- 4. Thay đổi thư mục tập lệnh thành homedir của người dùng trong tập lệnh shell
- 5. Thư mục tập lệnh LINQPad?
- 6. Thay đổi thư mục tmp của mysql
- 7. Thay đổi thư mục của Delphi OpenDialog
- 8. Nhập tập lệnh từ thư mục gốc
- 9. Thay đổi thư mục làm việc trong shell bằng tập lệnh python
- 10. Di chuyển thư mục từ thư mục này sang thư mục khác trong tập lệnh batch
- 11. Python: Có thể thay đổi thư mục dòng lệnh của Windows dòng lệnh mà không thay đổi thư mục hiện tại thực tế không?
- 12. thay đổi thư mục virtualenv trên windows
- 13. Thay đổi thư mục làm việc của msbuild.exe
- 14. Thay đổi chủ sở hữu của thư mục gốc và thư mục con (Ubuntu 13.04)
- 15. Một bash một lót để thay đổi vào thư mục mà một số tập tin nằm
- 16. Xem thư mục để thay đổi tập tin
- 17. Thư mục ZIP có thư mục con trong python
- 18. Cách xem một thư mục con của thư mục có thay đổi không
- 19. Đổi tên tập tin trong nhiều thư mục với tên của thư mục
- 20. Thay đổi thư mục hiện tại của FileSystemObject
- 21. Xóa nội dung của thư mục có tập lệnh shell
- 22. Lưu trữ thư mục thư mục tên vào mảng Powershell
- 23. Lưu tập tin matplotlib vào thư mục
- 24. Tải tập tin vào thư mục làm việc của tôi
- 25. Bash, chạy tập lệnh trên mọi tệp .jpg trong thư mục có thư mục con
- 26. Sửa đổi tập lệnh python để chạy trên mọi tệp trong thư mục
- 27. Thay đổi thư mục tạm thời
- 28. Thay đổi vị trí thư mục EditorTemplates
- 29. Thay đổi vị trí của thư mục thành phần
- 30. Làm cách nào để thay đổi thư mục đích của lệnh fileset của Ant?
Bạn có thể sao chép trực tiếp mã này: 'os nhập; os.chdir (os.path.dirname (__ file __)) ' – Basj