Làm cách nào để tìm đường dẫn đầy đủ của trình thông dịch Python hiện đang chạy từ bên trong tập lệnh Python hiện đang thực thi?Tìm đường dẫn đầy đủ của trình thông dịch Python?
Trả lời
sys.executable
chứa đường dẫn đầy đủ của trình thông dịch Python hiện đang chạy.
import sys
print(sys.executable)
mà bây giờ là documented here
Thử whereis lệnh:
whereis python
Điều đó cho bạn biết những gì trong đường dẫn của bạn, nhưng nó không cho bạn biết chương trình đang chạy tập lệnh hiện tại. – vy32
và không di động đối với một số hệ điều hành, chẳng hạn như Windows – wojtow
Câu hỏi đặt ra là "..trong tập lệnh Python hiện đang thực thi?". 'whereis' không nằm trong tập lệnh Python. – guettli
Chỉ cần lưu ý một cách khác nhau của tính hữu dụng đáng ngờ, sử dụng os.environ
:
import os
python_executable_path = os.environ['_']
ví dụ
$ python -c "import os; print(os.environ['_'])"
/usr/bin/python
Có một vài cách thay thế để tìm ra những trăn đang được sử dụng trong Linux là: 1) which python
lệnh. 2) command -v python
lệnh 3) type python
lệnh
Tương tự như vậy Trên Windows với Cygwin cũng sẽ cho kết quả giống nhau.
[email protected] ~
$ which python
/usr/bin/python
[email protected] ~
$ whereis python
python: /usr/bin/python /usr/bin/python3.4 /usr/lib/python2.7 /usr/lib/python3.4 /usr/include/python2.7 /usr/include/python3.4m /usr/share/man/man1/python.1.gz
[email protected] ~
$ which python3
/usr/bin/python3
[email protected] ~
$ command -v python
/usr/bin/python
[email protected] ~
$ type python
python is hashed (/usr/bin/python)
Nếu bạn đã ở trong vỏ trăn. Hãy thử bất cứ ai trong số này. Lưu ý: Đây là một cách thay thế. Không phải là cách tốt nhất.
>>>
>>> import os
>>> os.popen('which python').read()
'/usr/bin/python\n'
>>>
>>> os.popen('type python').read()
'python is /usr/bin/python\n'
>>>
>>> os.popen('command -v python').read()
'/usr/bin/python\n'
>>>
>>>
"từ bên trong tập lệnh Python hiện đang chạy" đã viết OP – nodakai
Ví dụ "đã có trong vỏ trăn" của bạn, tất cả đều giả định rằng trình vỏ python bắt đầu là những gì bạn nhận được nếu bạn gõ 'python' từ trình bao. Nếu bạn bắt đầu với một đường dẫn rõ ràng khác (ví dụ '/ opt/python/2.5/bin/python'), hoặc sử dụng' python3' và sau đó chạy các lệnh python đó, ** tất cả chúng tạo ra các câu trả lời sai ** và không có gì để làm với không phải là cách pythonic nhất, nó chỉ là đồng bằng sai. – Anthon
- 1. Tìm tên tệp từ đường dẫn tệp đầy đủ
- 2. xây dựng tên đường dẫn đầy đủ trong python,
- 3. Cách tìm đường dẫn đầy đủ của tệp .pst của Outlook?
- 4. Đường dẫn đầy đủ của cá tương tác Shell
- 5. Đường dẫn đầy đủ của tệp Xcode 4
- 6. Nhận đường dẫn đầy đủ của các tệp trong PowerShell
- 7. Cách lấy đường dẫn đầy đủ của StreamWriter
- 8. Tìm phần thư mục (trừ tên tệp) của đường dẫn đầy đủ trong truy cập 97
- 9. Cách lấy đường dẫn đầy đủ của thư mục tệp hiện tại bằng Python?
- 10. Nhận đường dẫn tệp đầy đủ trong java
- 11. Cách nén thư mục không có đường dẫn đầy đủ
- 12. Cách đúng để tìm tệp theo "đường dẫn đầy đủ" trong API Google Drive v2
- 13. Đường dẫn đầy đủ từ đầu vào tệp bằng jQuery
- 14. Đầy đủ của tìm kiếm theo chiều sâu
- 15. Tìm chỉ in tên tệp, chứ không phải đường dẫn đầy đủ
- 16. Cách lấy thư mục đường dẫn đầy đủ từ Trình chọn tệp
- 17. CMake là liên kết againts đường dẫn đầy đủ của thư viện
- 18. Hiển thị đường dẫn đầy đủ của tên tệp trong các tab ~ Netbeans 6.8
- 19. thông tin chi tiết nguồn không hiển thị đường dẫn đầy đủ của tệp trong thanh tiêu đề
- 20. Cách xem đường dẫn đầy đủ của một tệp trong GDB?
- 21. Liệt kê tất cả các tệp trong một thư mục - đường dẫn đầy đủ của tệp
- 22. Làm cách nào để lấy thư mục từ đường dẫn đầy đủ của tệp?
- 23. Mở tệp theo đường dẫn đầy đủ của nó trong C++
- 24. Lệnh shell của Windows để lấy đường dẫn đầy đủ đến thư mục hiện tại?
- 25. Triển khai đầy đủ RSA bằng Python
- 26. Liên kết đến một thư viện động trên máy Mac với đường dẫn đầy đủ
- 27. Làm cách nào để chuyển đổi đường dẫn đầy đủ sang đường dẫn tương đối bằng cách sử dụng perl?
- 28. lấy tên đầy đủ của một assembly
- 29. Phân tích tên tệp từ đường dẫn đầy đủ bằng cách sử dụng cụm từ thông dụng trong C#
- 30. lấy đường dẫn đầy đủ từ một PID sử dụng delphi
Điều này dường như không hoạt động với các tập lệnh có chữ "vi/-r/bin/env python' được thực thi dưới dạng' env -i./Script'. Trong trường hợp đó nó trả về thư mục làm việc hiện tại. –
@JohnFreeman: Tôi đã thử điều này trên một hộp GNU/Linux w/GNU coreutils 8.4 (env) và Python 3.4.2. '#!/usr/bin/env python3' sẽ trả lại đường dẫn nhị phân đầy đủ chính xác qua' sys.executable'. Có lẽ phiên bản hệ điều hành hoặc Python của bạn hoạt động hơi khác nhau. – kevinarpe
Nó hoạt động cho tôi với Python 3, nhưng không Python 2. –