Cách lấy thư mục làm việc hiện tại bằng Python

How Get Current Working Directory Python



Tên tệp hoặc thư mục có thể được sử dụng với đường dẫn đầy đủ hoặc chỉ đề cập đến tên tệp hoặc thư mục chỉ để sử dụng nó trong tập lệnh. Đường dẫn đầy đủ của tệp hoặc thư mục từ thư mục gốc được chỉ định bằng đường dẫn tuyệt đối. Khi tên tệp được sử dụng mà không có tên đường dẫn trong tập lệnh, thì Thư mục làm việc hiện tại được giả định là tên đường dẫn của tệp và được gọi là đường dẫn tương đối. Trong Python, Thư mục làm việc hiện tại được đặt thành vị trí thư mục từ nơi thực thi tập lệnh python. Nhiều mô-đun tồn tại trong python để lấy Thư mục làm việc hiện tại. Các cách để truy xuất Thư mục làm việc hiện tại bằng cách sử dụng các mô-đun khác nhau trong Python đã được trình bày trong hướng dẫn này.

Ví dụ-1: Sử dụng mô-đun pathlib để lấy Thư mục làm việc hiện tại

Lớp đường dẫn của mô-đun pathlib được sử dụng để đọc thư mục làm việc hiện tại của tập lệnh đang thực thi. Tạo một tập lệnh python với mã sau để đọc và in thư mục làm việc hiện tại bằng cách sử dụng mô-đun pathlib. Các phương thức cwd () của lớp Path được sử dụng để in thư mục làm việc hiện tại từ nơi tập lệnh đang thực thi.







# Nhập Đường dẫn từ mô-đun pathlib

từcon đườngnhập khẩuCon đường

# Truy xuất đường dẫn của thư mục làm việc hiện tại

current_working_directory=Con đường.cwd()

# In vị trí của thư mục làm việc hiện tại

in('Vị trí của thư mục làm việc hiện tại là:')

in(current_working_directory)

Đầu ra:

Kết quả sau sẽ xuất hiện sau khi thực hiện tập lệnh trên. Ở đây, đường dẫn của thư mục làm việc hiện tại không có tên tập lệnh đã hiển thị trong đầu ra.





Ví dụ-2: Sử dụng normpath () và abspath () để lấy Thư mục làm việc hiện tại

Sử dụng mô-đun hệ điều hành là một cách khác để truy xuất thư mục làm việc hiện tại. Các phương thức khác nhau tồn tại trong lớp đường dẫn của mô-đun os để truy xuất thư mục làm việc hiện tại. Normpath () và phương thức abspath () là hai trong số họ. Các phương thức này trả về thư mục làm việc hiện tại dưới dạng một chuỗi. Tạo một tệp python với tập lệnh sau để kiểm tra mục đích của các chức năng này.





# Nhập mô-đun hệ điều hành

nhập khẩu bạn

# In thư mục làm việc hiện tại bằng hàm normpath ()

in('Thư mục làm việc hiện tại (sử dụng normpath ()) là:')

in(bạn.con đường.dirname(bạn.con đường.normpath(__tập tin__)))

# In thư mục làm việc hiện tại bằng hàm abspath ()

in(' Thư mục làm việc hiện tại (sử dụng abspath ()) là: ')

in(bạn.con đường.abspath('.'))

Đầu ra:

Kết quả sau sẽ xuất hiện sau khi thực hiện tập lệnh trên. Ở đây, đường dẫn của thư mục làm việc hiện tại không có tên tập lệnh đã hiển thị trong đầu ra.



Ví dụ-3: Sử dụng realpath () để lấy Thư mục làm việc hiện tại

Các realpath () là một phương pháp khác để truy xuất thư mục làm việc hiện tại. Tạo tệp python với tập lệnh sau để in thư mục làm việc hiện tại với tên tập lệnh bằng cách sử dụng phương thức realpath () . Trong kịch bản, nó có __tập tin__ dưới dạng giá trị đối số chứa tên đường dẫn của tệp mà trong đó mô-đun hệ điều hành được nhập.

# Nhập mô-đun hệ điều hành

nhập khẩu bạn

# Đọc thư mục làm việc hiện tại bằng hàm realpath ()

real_path= bạn.con đường.đường dẫn thực(__tập tin__)

# In thư mục làm việc hiện tại với tên tập lệnh

in(' Thư mục làm việc hiện tại có tên tập lệnh là: ')

in(real_path)

Đầu ra:

Kết quả sau sẽ xuất hiện sau khi thực hiện tập lệnh trên. Ở đây, đường dẫn của thư mục làm việc hiện tại với tên tập lệnh đã hiển thị trong đầu ra.

Ví dụ-4: Sử dụng getcwd () để lấy Thư mục Làm việc Hiện tại

Sử dụng hàm getcwd () của mô-đun os là cách đơn giản nhất để truy xuất thư mục làm việc hiện tại của tập lệnh đang thực thi. Nó không chứa bất kỳ đối số nào và trả về CWD dưới dạng một chuỗi. Tạo một tệp python với tập lệnh sau để kiểm tra việc sử dụng hàm getcwd () . Thư mục làm việc hiện tại được in ở đầu tập lệnh. Tiếp theo, đường dẫn thư mục hiện tại được thay đổi bằng cách sử dụng hàm chdir () . Các lệnh getcwd () được gọi lại sau khi thay đổi thư mục.

# Nhập mô-đun hệ điều hành

nhập khẩu bạn

# In thư mục làm việc hiện tại bằng hàm getcwd ()

in('Thư mục làm việc hiện tại là: ', bạn.getcwd())

# Thay đổi thư mục làm việc hiện tại

bạn.chdir('/ etc / mail')

# In thư mục làm việc hiện tại sau khi thay đổi

in(' Thư mục làm việc hiện tại sau khi thay đổi là: ', bạn.getcwd())

Đầu ra:

Kết quả sau sẽ xuất hiện sau khi thực hiện tập lệnh trên. Ở đây, đường dẫn thư mục làm việc hiện tại không có tên tập lệnh đã được in trước khi thay đổi thư mục. Tiếp theo, đường dẫn thư mục đã thay đổi đã được in.

Ví dụ-5: Sử dụng getcwd () với thử ngoại trừ để lấy Thư mục Làm việc Hiện tại

Tạo tệp python bằng tập lệnh sau để thay đổi thư mục làm việc hiện tại dựa trên giá trị đầu vào và xử lý các loại lỗi khác nhau. Ba loại lỗi có thể được xử lý bằng cách thực thi tập lệnh. Các Lỗi FileNotFoundError sẽ được tạo nếu đường dẫn lấy từ đầu vào không tồn tại. Các Lỗi NotADirectoryError sẽ được tạo nếu đường dẫn lấy từ đầu vào không phải là một thư mục. Các Lỗi PermissionError sẽ được tạo nếu đường dẫn lấy từ đầu vào không thể truy cập được.

# Nhập mô-đun hệ điều hành

nhập khẩu bạn

# Nhập đường dẫn của thư mục

cwd= đầu vào('Nhập đường dẫn của thư mục làm việc hiện tại: ')


cố gắng:

# Thay đổi thư mục làm việc hiện tại

bạn.chdir(cwd)

# In thư mục làm việc hiện tại bằng hàm getcwd ()

in('Thư mục làm việc hiện tại là: ', bạn.getcwd())

# Tăng lỗi nếu thư mục không tồn tại

ngoại trừFileNotFoundError:

in('Thư mục không tồn tại.')

# Tăng lỗi nếu đường dẫn đầu vào không phải là một thư mục

ngoại trừNotADirectoryError:

in('% s không phải là một thư mục'%(cwd))

# Tăng lỗi nếu thư mục không thể truy cập được

ngoại trừPermissionError:

in('Quyền bị từ chối để thay đổi thư mục.')

Đầu ra:

Đầu ra sau đây sẽ xuất hiện sau khi thực hiện tập lệnh trên nếu đường dẫn tồn tại. Ở đây, tồn tại đường dẫn đầu vào đã lấy và thư mục làm việc đã thay đổi đã được in trong đầu ra.


Kết quả sau sẽ xuất hiện sau khi thực hiện đoạn mã trên nếu đường dẫn không tồn tại.


Kết quả sau sẽ xuất hiện sau khi thực hiện tập lệnh trên nếu không thể truy cập được đường dẫn đã lấy.

Phần kết luận:

Việc sử dụng mô-đun pathlib và os để đọc thư mục làm việc hiện tại được trình bày trong hướng dẫn này bằng cách sử dụng các ví dụ khác nhau. Cách lấy lại thư mục làm việc hiện tại sau khi thay đổi thư mục làm việc hiện tại dựa trên đầu vào của người dùng cũng đã được trình bày trong hướng dẫn này.