Tôi đang sử dụng Python 3.2 trên Windows 7. Khi tôi mở vỏ Python, làm cách nào tôi có thể biết thư mục hiện tại là gì và làm cách nào để thay đổi thư mục đó thành một thư mục khác có mô đun của tôi?Làm cách nào để biết/thay đổi thư mục hiện tại trong trình bao Python?
Trả lời
Bạn có thể sử dụng các mô-đun os
.
>>> import os
>>> os.getcwd()
'/home/user'
>>> os.chdir("/tmp/")
>>> os.getcwd()
'/tmp'
Nhưng nếu đó là về việc tìm kiếm các module khác: Bạn có thể thiết lập một biến môi trường được gọi là PYTHONPATH
, dưới Linux sẽ như thế nào
export PYTHONPATH=/path/to/my/library:$PYTHONPATH
Sau đó, tìm kiếm thông dịch viên cũng tại nơi này cho import
module ed. Tôi đoán tên sẽ giống nhau trong Windows, nhưng không biết cách thay đổi.
chỉnh sửa
Dưới Windows:
set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib
(lấy từ http://docs.python.org/using/windows.html)
chỉnh sửa 2
... và thậm chí tốt hơn: sử dụng virtualenv
và virtualenv_wrapper
, điều này sẽ allo Bạn tạo một môi trường phát triển nơi bạn có thể thêm đường dẫn mô-đun theo ý muốn (add2virtualenv
) mà không làm ô nhiễm môi trường làm việc của bạn hoặc môi trường làm việc "bình thường".
http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html
bạn có quyền chỉnh sửa câu hỏi của mình để thêm gợi ý về 'PYTHONPATH', nhưng lưu ý rằng OP chỉ định Windows ... – simon
Và vấn đề với PYTHONPATH trong Windows là gì? Nhưng tôi đã trả lời câu trả lời của mình. –
Tôi có phải đặt PYTHONPATH trong dòng lệnh của Windows hoặc trong trình bao Python không? – astay13
Nếu bạn import os
bạn có thể sử dụng os.getcwd
để có được thư mục làm việc hiện tại, và bạn có thể sử dụng os.chdir
để thay đổi thư mục của bạn
bạn muốn
import os
os.getcwd()
os.chdir('..')
os.chdir ('C: \ Users \ Ajeya \ Documents \') ^ Cú phápError: EOL khi quét chuỗi ký tự – AAI
@Whatever, bạn cần để tăng gấp đôi các dấu gạch chéo ngược nếu bạn sử dụng chúng trong chuỗi Python thông thường (không phải thô). Python cũng cho phép bạn sử dụng dấu gạch chéo về phía trước để thay thế. Do đó, hoặc là 'os.chdir (' C:/Users/Ajeya/Documents ') ', hoặc' os.chdir (' C: \\ Users \\ Ajeya \\ Documents ') ', hoặc' os.chdir (r 'C: \ Users \ Ajeya \ Documents') '. –
Thay đổi thư mục hiện hành không phải là cách để đối phó với việc tìm kiếm các module bằng Python.
Thay vào đó, hãy xem tài liệu cho The Module Search Path để biết cách Python tìm mô-đun nào cần nhập.
Dưới đây là một chút có liên quan từ Standard Modules phần:
The variable sys.path is a list of strings that determines the interpreter’s search path for modules. It is initialized to a default path taken from the environment variable PYTHONPATH, or from a built-in default if PYTHONPATH is not set. You can modify it using standard list operations:
>>> import sys
>>> sys.path.append('/ufs/guido/lib/python')
Trong câu trả lời câu hỏi ban đầu của bạn về việc tìm và thiết lập thư mục hiện hành:
>>> help(os.getcwd)
getcwd(...)
getcwd() -> path
Return a string representing the current working directory.
>>> help(os.chdir)
chdir(...)
chdir(path)
Change the current working directory to the specified path.
>>> import os
>>> os.system('cd c:\mydir')
Trong thực tế, os.system()
có thể thực hiện bất kỳ lệnh mà cửa sổ lệnh nhắc có thể thực hiện, không chỉ thay đổi dir.
Tệp "
Cách dễ nhất để thay đổi thư mục làm việc hiện tại trong python là sử dụng gói 'os'. Dưới đây là ví dụ về máy tính windows:
#import the os package
import os
# Confirm the current working directory
os.getcwd()
# use '\\' while chaning the directory
os.chdir("C:\\user\\foldername")
- 1. Làm cách nào để tạo thư mục trong thư mục làm việc hiện tại, trong Java
- 2. Tôi làm cách nào để tìm thư mục hiện tại?
- 3. Làm cách nào để hủy thư mục con trong thư mục hiện tại?
- 4. Cách lấy thư mục hiện tại trong chương trình C?
- 5. đọc khác quá trình hiện tại thư mục trong C#
- 6. Cách xem thư mục làm việc hiện tại trong WinGHCi
- 7. Làm thế nào để bao gồm tài liệu thư mục trong phân phối python
- 8. bao gồm các tệp tiêu đề - liên quan đến thư mục hiện tại hoặc để bao gồm các thư mục?
- 9. Cách đặt thư mục làm việc hiện tại?
- 10. Tạm thời thay đổi thư mục hiện tại trong Rake
- 11. Làm cách nào để chạy một chương trình có thư mục làm việc khác với hiện tại, từ trình bao Linux?
- 12. Làm thế nào để thay đổi thư mục hiện tại của SBCL?
- 13. Cách git stash changes trong thư mục hiện tại
- 14. Tạm thời thay đổi thư mục làm việc hiện tại trong bash để chạy lệnh
- 15. vimrc - thư mục làm việc hiện tại
- 16. Tên thư mục hiện tại trong Ruby?
- 17. Làm cách nào để lấy tên thư mục hiện tại trong Javascript?
- 18. Làm cách nào để lấy tên của thư mục hiện tại trong Ruby?
- 19. Làm cách nào để lấy thư mục hiện tại trong dịch vụ web
- 20. Cách thay đổi thư mục làm việc hiện tại trong Groovy
- 21. Làm cách nào để buộc trình tạo bản ghi SCons thay đổi thư mục?
- 22. Tại sao danh sách thư mục chứa thư mục (.) Và thư mục mẹ (..) hiện tại?
- 23. QSettings(): Cách lưu vào thư mục làm việc hiện tại
- 24. Làm cách nào để tạo thư mục nếu thư mục không tồn tại bằng Perl?
- 25. Làm cách nào để tôi có thể thêm một tệp mà không thay đổi thư mục làm việc hiện tại?
- 26. Làm cách nào để đổi tên thư mục bằng Ant?
- 27. Tại sao python của tôi không thêm thư mục làm việc hiện tại vào đường dẫn?
- 28. Làm cách nào để xác định mức sử dụng CPU hiện tại từ trình bao?
- 29. Nhận đường dẫn thư mục hiện tại
- 30. Làm cách nào để đổi tên một thư mục?
@Ignacio, Ý bạn là gì? – astay13
Điều này đã được thảo luận [ở đây] [1]: http://stackoverflow.com/questions/431684/how-do-i-cd-in-python – mudda
@ astay13 - Tôi nghĩ Ignacio có nghĩa là bạn không có ý định thay đổi thư mục thành đường dẫn mô-đun của bạn. Có lẽ bạn nên kiểm tra biến môi trường PYTHONPATH. – simon