Cách thay đổi thư mục làm việc bằng Python

How Change Working Directory Python



Thư mục làm việc là một thư mục hiện tại mà chúng tôi đang làm việc và từ đó tập lệnh được chạy; trong thư mục này, chúng tôi có quyền truy cập vào nhiều tệp (những tệp nằm trong thư mục). Tuy nhiên, đôi khi chúng ta cần thay đổi các thư mục và qua lại giữa các tệp và thư mục. Trong hướng dẫn này, chúng ta sẽ học cách thay đổi thư mục làm việc trong Python.

MÔ ĐUN HĐH

Trước hết, để đạt được điều này, chúng ta sẽ cần mô-đun os trong Python. Vì nó được cài đặt sẵn nên không cần cài đặt thêm bất cứ thứ gì. Mô-đun hệ điều hành thường được sử dụng bằng Python để tương tác, quản lý và sửa đổi các tệp và thư mục trên hệ thống. Ví dụ, chúng ta có thể tạo / xóa thư mục, thay đổi thư mục đang làm việc, hướng dẫn tệp, kiểm tra xem tệp có tồn tại hay không, v.v.… Không cần phải nói rằng nó là một mô-đun rất hữu ích.







Lấy thư mục làm việc hiện tại

Để có được thư mục làm việc hiện tại, chúng tôi sử dụng phương thức getcwd () từ mô-đun hệ điều hành. Xin lưu ý ở đây rằng không có đối số nào được thông qua. Trong trường hợp của tôi, đầu ra là / home / kalyani / PycharmProjects / pythonProject1 trên máy Ubuntu (chạy PyCharm). Điều này có nghĩa là tập lệnh chính - main.py - nằm trong thư mục này (pythonProject1). Và nhớ bạn, thư mục làm việc, trước hết là một thư mục!



nhập khẩu bạn

# Lấy thư mục làm việc hiện tại

current_directory= bạn.getcwd()

in('Thư mục làm việc hiện tại của bạn là% s'% current_directory)



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

Dễ dàng thay đổi thư mục làm việc của bạn với phương thức chdir (), phương thức này nhận chính xác một đối số - đường dẫn đến vị trí mới dưới dạng một chuỗi.





nhập khẩu bạn

# Lấy thư mục làm việc hiện tại

current_directory= bạn.getcwd()

in('Thư mục làm việc hiện tại của bạn là% s'% current_directory)

Điều đầu tiên cần làm là thiết lập đường dẫn mới đến thư mục làm việc. Trên Ubuntu, điều này rất đơn giản!

# hãy đặt một thư mục làm việc mới

new_working_directory= '/ home / kalyani / Desktop / PythonDirectory'

Trên Windows, bạn cần sử dụng dấu gạch chéo ngược kép để xác định thư mục.



#new_working_directory = 'C: \ Users \ never \ Desktop \ PythonDirectory'

Tiếp theo, chúng tôi xác định một mệnh đề try-exception. Nếu đường dẫn tồn tại, chúng ta sẽ sử dụng phương thức chdir () để thay đổi thư mục làm việc thành thư mục làm việc mới. Nếu đường dẫn không phải là một thư mục, nó sẽ báo lỗi!

cố gắng:

bạn.chdir(new_working_directory)

in('Thư mục làm việc đã được thay đổi!')

in('WD:% s'%bạn.getcwd())


ngoại trừNotADirectoryError:

in('Bạn chưa chọn một thư mục.')


ngoại trừFileNotFoundError:

in('Không tìm thấy thư mục. Đường dẫn không chính xác. ')


ngoại trừPermissionError:

in('Bạn không có quyền truy cập vào thư mục / tệp này.')

Mã đầy đủ sẽ giống như sau:

nhập khẩu bạn

# Lấy thư mục làm việc hiện tại

current_directory= bạn.getcwd()

in('Thư mục làm việc hiện tại của bạn là% s'% current_directory)

# hãy đặt một thư mục làm việc mới

#new_working_directory = '/ home / kalyani / Desktop / PythonDirectory'

new_working_directory=NS'NS: Uphục vụ bao giờNSesktopPythonDirectory '

cố gắng:

bạn.chdir(new_working_directory)

in('Thư mục làm việc đã được thay đổi!')

in('WD:% s'%bạn.getcwd())


ngoại trừNotADirectoryError:

in('Bạn chưa chọn một thư mục.')


ngoại trừFileNotFoundError:

in('Không tìm thấy thư mục. Đường dẫn không chính xác. ')


ngoại trừPermissionError:

in('Bạn không có quyền truy cập vào thư mục / tệp này.')

Trên thực tế, sai lầm có thể làm nảy sinh nhiều loại ngoại lệ khác nhau:

tôi. NotADirectoryError:

Bây giờ, giả sử ví dụ mà tôi đã viết mã sau cho đường dẫn hoặc thư mục làm việc mới:

new_working_directory= 'NS:\Người dùng\không bao giờ\Máy tính để bàn\PythonDirectory\text.txt '

Điều bạn có thể lưu ý ở đây là tôi đang chỉ đường dẫn đến tài liệu văn bản có tên là text.txt. Và sau đó sẽ tạo ra một lỗi được gọi là NotADirectoryError. Nói cách khác, đường dẫn của bạn phải trỏ đến một thư mục thuộc loại nào đó.

ii. FileNotFoundError:

Lỗi FileNotFoundError được ném ra khi đường dẫn không tồn tại. Vì vậy, giả sử hiện tại tôi không có thư mục có tên PythonDirectory trên Máy tính để bàn của mình và tôi đã đặt đường dẫn của mình thành:

new_working_directory= 'NS: Uphục vụ bao giờNSesktopPythonDirectory '

Nó sẽ ném một FileNotFoundError . Lỗi này chỉ có nghĩa là thư mục mà chúng tôi đang trỏ đến không tồn tại hoặc không được tìm thấy.

iii. PermissionError:

ĐẾN PermissionError được nâng lên khi người dùng không có đủ quyền để sửa đổi hoặc truy cập vào thư mục đã chọn.

iv. Lỗi cú pháp:

Lỗi cú pháp xảy ra khi có lỗi cú pháp trong đường dẫn. Trên Windows, nếu chúng ta viết thư để nói:

new_working_directory= 'NS: Uphục vụ bao giờNSesktopPythonDirectory '

Đã xảy ra lỗi cú pháp! Tuy nhiên, lỗi cú pháp khó bắt gặp hơn nhiều vì nó cần được đánh giá, nhập hoặc thực thi. Do đó, khi chúng tôi viết các khối thử ngoại trừ, sẽ khó gặp lỗi như vậy hơn.

Trên Windows, để tránh bất kỳ lỗi nào, đường dẫn có thể được viết ra theo một trong ba cách khác nhau để không có lỗi nào được đưa ra:

Phương pháp 1: Trong phương pháp này, chúng tôi thêm một r trước khi thiết lập chuỗi.

new_working_directory=NS'NS: Uphục vụ bao giờNSesktopPythonDirectory '

Cách 2: Chúng tôi sử dụng dấu gạch chéo ngược kép.

new_working_directory= 'NS:\Người dùng\không bao giờ\Máy tính để bàn\PythonDirectory '

Phương pháp 3: Chúng tôi sử dụng một dấu gạch chéo về phía trước.

new_working_directory= 'C: / Users / never / Desktop / PythonDirectory'

MÔ ĐUN PATH

Chúng tôi cũng có thể thay đổi thư mục làm việc bằng cách sử dụng mô-đun đường dẫn. Trước tiên, hãy cài đặt đường dẫn như sau (Tôi cũng đã cung cấp liên kết đến mô-đun):

đường dẫn cài đặt pip

(https: // pypi.tổ chức/ project / path /)

Tiếp theo, chúng tôi viết:

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

nhập khẩu bạn

Trước tiên, hãy kiểm tra thư mục làm việc hiện tại bằng cách sử dụng mô-đun os và phương thức getcwd ().

# hãy kiểm tra thư mục làm việc hiện tại

cwd= bạn.getcwd()

in('Thư mục làm việc hiện tại là:% s'% cwd)

in('---------------------------------------------')

Tiếp theo, đặt đường dẫn đến thư mục làm việc mới. Trong trường hợp này, tôi đã chọn đặt ví dụ trên máy Windows:

# đặt đường dẫn đến thư mục làm việc mới

con đường mới= 'NS:\Người dùng\không bao giờ\Máy tính để bàn\PythonDirectory '

Sử dụng Path () để thay đổi thư mục làm việc. Path () chỉ nhận một đối số ở đây: đường dẫn thực tế đến thư mục làm việc mới và sử dụng phương thức chdir () để hoàn thành nhiệm vụ.

# thay đổi thư mục làm việc

Con đường(con đường mới).chdir()

Kiểm tra lại xem thư mục làm việc có bị thay đổi không. Và đây, như bạn có thể thấy trong hình, thư mục làm việc thực sự đã được thay đổi!

# Kiểm tra lại thư mục làm việc

# nó đã được thay đổi?

cwd= bạn.getcwd()

in('Thư mục làm việc mới là% s'% cwd)

Thay đổi thư mục làm việc là một nhiệm vụ dễ dàng và chỉ cần một phương pháp - phương thức chdir (đường dẫn). Tuy nhiên, tùy thuộc vào việc bạn đang sử dụng máy Windows hay máy Linux, bạn phải cẩn thận về cách nhập đường dẫn dưới dạng chuỗi. Nếu nhập sai, nó có thể gây ra lỗi!

Chúc bạn mã hóa vui vẻ!