Hướng dẫn absolute path in python example - đường dẫn tuyệt đối trong ví dụ python

Các hệ điều hành như Windows, Linux hoặc MacOS có các cấu trúc đường dẫn khác nhau trong đó các tệp hệ điều hành được lưu trữ.

Do đó, khi bạn chạy các tập lệnh Python trên các máy này và muốn tìm nạp các tệp hoặc thư mục, bạn muốn tìm tệp đường dẫn tuyệt đối của tệp liên quan đến thư mục hiện tại thay vì mã hóa nó cho mọi hệ thống.

Một đường dẫn tuyệt đối còn được gọi là đường dẫn đầy đủ và bắt đầu bằng / trong Linux và MacOS và C:/ trên Windows.

Để tìm một đường dẫn tuyệt đối trong Python, bạn nhập mô -đun os thì bạn có thể tìm thấy thư mục làm việc hiện tại bằng cách sử dụng os.path.abspath("insert-file-name-here") trong tập lệnh Python của bạn. you import the os module then you can find the current working directory using os.path.abspath("insert-file-name-here") in your Python script.

Con đường tuyệt đối trong Python là gì?

Một đường dẫn tuyệt đối trong Python là đường dẫn đầy đủ bắt đầu từ gốc của hệ thống hoạt động cho đến khi thư mục làm việc.

Vì vậy, hãy để nói rằng bạn chạy mã Python của bạn trong /Users/dannysteenman/home/projects/example-project/app.py. Đây là điểm nhập cảnh mà bạn chạy mã cấp cao nhất của mô-đun Python của bạn.

Sau đó, đây là con đường tuyệt đối của thư mục làm việc của bạn /Users/dannysteenman/home/projects/example-project/.

Cách tìm con đường tuyệt đối trong Python

Như đã đề cập ở phần đầu của bài viết này, bạn có thể chạy ứng dụng Python của mình trên các hệ điều hành khác nhau, do đó bạn muốn tự động tìm đường dẫn đầy đủ của tệp bạn muốn nhập vào mã của mình thay vì mã hóa Hard.

Vì vậy, được đưa ra một đường dẫn như & nbsp; ________ 9, làm thế nào để bạn tìm thấy tệp tuyệt đối của tệp so với thư mục làm việc hiện tại (/Users/dannysteenman/home/projects/example-project/) trong Python?

Để có được đường dẫn tuyệt đối trong Python, bạn viết mã sau:

import os

os.path.abspath("src/examplefile.txt")

Để giải thích mã Python: Đầu tiên, bạn phải nhập mô -đun os trong Python để bạn có thể chạy các chức năng hệ điều hành trong mã của mình.

Sau đó, bạn sử dụng thư viện

/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
2 để trả về một phiên bản tuyệt đối được chuẩn hóa của đường dẫn PathName & NBSP;

Điều này sẽ dẫn đến đầu ra sau:

/Users/dannysteenman/home/projects/example-project/src/examplefile.txt

Sự kết luận

Như bạn có thể thấy một đường dẫn tuyệt đối giúp bạn tìm thấy đường dẫn đầy đủ của tệp hoặc thư mục liên quan đến thư mục làm việc hiện tại. Điều này rất hữu ích vì bạn có thể linh hoạt tìm tệp hoặc thư mục và trả về đường dẫn chính xác trên các hệ điều hành khác nhau.

Để có được một con đường tuyệt đối trong Python, bạn sử dụng thư viện

/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
3. Chèn tên tệp của bạn và nó sẽ trả về đường dẫn đầy đủ từ thư mục làm việc bao gồm cả tệp.

Nếu bạn cần hướng dẫn về việc tìm một con đường tương đối trong Python, hãy đọc bài viết sau đây.

Để tham khảo. Con đường tuyệt đối là con đường đầy đủ đến một số nơi trên máy tính của bạn. Đường dẫn tương đối là đường dẫn đến một số tệp liên quan đến thư mục làm việc hiện tại của bạn (PWD). Ví dụ:

Đường dẫn tuyệt đối:

/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
4

Nếu nến kim của tôi là

/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
5, thì đường dẫn tương đối đến
/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
6 sẽ là:
/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
7

Lưu ý, PWD + Đường dẫn tương đối = Đường dẫn tuyệt đối.

Tuyệt vời, tuyệt vời. Bây giờ, tôi đã viết một số tập lệnh kiểm tra nếu một tệp tồn tại.

/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
8

Điều này trả về

/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
9 nếu
/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
6 tồn tại và nó hoạt động.

Bây giờ, thay vào đó nếu tôi viết,

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
1

Điều này cũng trả về

/Users/dannysteenman/home/projects/example-project/src/examplefile.txt
9.

Có một thời gian nhất định khi chúng ta cần sử dụng cái này hơn cái kia không? Có một phương pháp nào cho việc Python tìm kiếm đường dẫn như thế nào? Nó có thử cái này trước rồi cái kia không?

Thanks!

Chương mười hai - Làm việc với các tập tin và thư mục trong Python

Trong chương này, bạn sẽ học cách làm việc với các con đường trong Python. Bạn cũng sẽ học cách đặt một thư mục làm việc và sử dụng các đường dẫn tuyệt đối và tương đối để truy cập các tệp và thư mục.Python. You will also learn how to set a working directory and use absolute and relative paths to access files and directories.

Mục tiêu học tập

Sau khi hoàn thành chương này, bạn sẽ có thể:

  • Xác định một thư mục máy tính và liệt kê các loại thư mục chính.
  • Giải thích sự khác biệt giữa các con đường tương đối và tuyệt đối.
  • Kiểm tra và đặt thư mục làm việc của bạn trong Python bằng gói HĐH.Python using the os package.

Những gì bạn cần

Hãy chắc chắn rằng bạn đã làm theo các hướng dẫn về việc thiết lập Git, Bash và Conda trên máy tính của bạn để cài đặt các công cụ cho hệ điều hành của bạn (Windows, Mac, Linux).

Hãy chắc chắn rằng bạn đã hoàn thành chương về Jupyter Notebook.

Về thư mục máy tính

Bạn có thể đã sử dụng các tập tin và thư mục trên máy tính của bạn trước đây. Tuy nhiên, có một tập hợp các thuật ngữ mà bạn sẽ nghe thường xuyên, đặc biệt là khi bạn làm việc trên các dự án khoa học mở hoặc sử dụng dòng lệnh để thao túng các tệp và thư mục. Dưới đây bạn sẽ tìm hiểu về một số thuật ngữ quan trọng liên quan đến việc làm việc với các tệp bao gồm thư mục làm việc và phụ huynh.

Một thư mục đề cập đến một thư mục trên máy tính có mối quan hệ với các thư mục khác. Thuật ngữ thư mục trực tuyến, xem xét mối quan hệ giữa thư mục đó và các thư mục trong và xung quanh nó. Các thư mục là phân cấp có nghĩa là chúng có thể tồn tại trong các thư mục khác cũng như có các thư mục tồn tại trong chúng.

Mẹo dữ liệu: Thư mục vs thư mục: Bạn có thể nghĩ về một thư mục dưới dạng thư mục. Tuy nhiên, thuật ngữ thư mục xem xét mối quan hệ giữa thư mục đó và các thư mục trong đó và xung quanh nó (nó là đường dẫn đầy đủ). Directory vs Folder: You can think of a directory as a folder. However, the term directory considers the relationship between that folder and the folders within it and around it (it’s full path).

Thư mục phụ huynh là gì

Thuật ngữ thư mục cha mẹ của cha mẹ được sử dụng để mô tả thư mục trước đó trong đó một thư mục con được tạo. Một thư mục phụ huynh có thể có nhiều thư mục con; Do đó, nhiều thư mục con có thể chia sẻ cùng một thư mục phụ huynh. Điều này cũng có nghĩa là các thư mục phụ huynh cũng có thể là thư mục con của thư mục phụ huynh phía trên chúng trong hệ thống phân cấp.

Một ví dụ về thư mục là thư mục tải xuống của bạn. Đó là thư mục mẹ của bất kỳ thư mục hoặc tệp nào được tải xuống máy tính của bạn hoặc được đặt trong thư mục này.

Trong ví dụ dưới đây,

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
3 là thư mục mẹ của cả hai thư mục con
* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
4 và
* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
5.
* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
6 là thư mục mẹ cho thư mục
* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
7, v.v.

Các tệp hình ảnh (nghiên cứu trang.jpg và cây phân phối-phân phối-map.jpg) tồn tại trong thư mục cha mẹ của họ:

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
8.

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg

Thư mục nhà là gì?

Thư mục gia đình trên máy tính là một thư mục được xác định bởi hệ điều hành của bạn. Thư mục gia đình là thư mục chính cho tài khoản người dùng của bạn trên máy tính của bạn. Các tập tin của bạn được lưu trữ theo mặc định trong thư mục nhà của bạn.

Trên Windows, thư mục nhà thường là

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
9.

Trên Mac và Linux, thư mục nhà thường là /0.

Trong suốt sách giáo khoa này, /0 được sử dụng làm thư mục nhà ví dụ và có thể được coi là tương đương với

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
9 trên Windows.

Thư mục nhà ở Bash

Khi bạn lần đầu tiên mở thiết bị đầu cuối, nếu không có cài đặt nào được tùy chỉnh, nó sẽ mở trong thư mục mặc định của máy tính của bạn được gọi là thư mục gia đình.home directory.

Thư mục làm việc là gì?

Mặc dù thiết bị đầu cuối sẽ mở trong thư mục nhà của bạn theo mặc định, bạn có thể thay đổi thư mục làm việc của thiết bị đầu cuối thành một vị trí khác trong cấu trúc tệp máy tính của bạn.

Thư mục làm việc đề cập đến thư mục (hoặc vị trí) trên máy tính của bạn rằng công cụ giả định là nơi bắt đầu cho tất cả các đường dẫn mà bạn xây dựng hoặc cố gắng truy cập.

Ví dụ: khi bạn CD vào thư mục

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
3, nó sẽ trở thành thư mục làm việc của bạn.

Nếu bạn chạy lệnh /4 trong thư mục

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
3 (với các nội dung trong ví dụ trên):

Bạn sẽ thấy một cái gì đó như thế này:

Các thư mục

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
4 và
* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
5 là các thư mục con có thể nhìn thấy ngay lập tức trong
* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
3.

Bằng cách đặt thư mục làm việc của bạn thành

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
3, bạn có thể dễ dàng truy cập bất cứ điều gì trong cả hai thư mục con đó.

Thư mục làm việc và đường dẫn tương đối so với tuyệt đối trong Python

Bạn có thể tự hỏi tại sao các thư mục làm việc lại quan trọng để hiểu khi làm việc với Python (hoặc R hoặc hầu hết các ngôn ngữ lập trình khoa học).Python (or R or most scientific programming languages).

Khi đặt chính xác, các thư mục làm việc giúp ngôn ngữ lập trình để tìm tệp khi bạn tạo đường dẫn.

Trong Python, bạn có thể xác định (hoặc đặt) thư mục làm việc mà bạn chọn. Sau đó, bạn có thể tạo các đường dẫn liên quan đến thư mục làm việc đó hoặc tạo các đường dẫn tuyệt đối, điều đó có nghĩa là chúng bắt đầu tại thư mục nhà của máy tính của bạn và cung cấp đường dẫn đầy đủ đến tệp mà bạn muốn mở.Python, you can define (or set) the working directory of your choice. Then, you can create paths that are relative to that working directory, or create absolute paths, which means they begin at the home directory of your computer and provide the full path to the file that you wish to open.

Đường dẫn tương đối

Một đường dẫn tương đối là đường dẫn (như tên tên) liên quan đến vị trí thư mục làm việc trên máy tính của bạn.

Nếu thư mục làm việc là

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
3, thì Python biết bắt đầu tìm kiếm các tệp của bạn trong thư mục
* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
3.Python knows to start looking for your files in the
* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
3 directory.

Theo ví dụ trên, nếu bạn đặt thư mục làm việc thành thư mục phân tích trái đất, thì đường dẫn tương đối để truy cập C:/2 sẽ là:earth-analytics directory, then the relative path to access C:/2 would be:

C:/3

Mẹo dữ liệu Thư mục làm việc mặc định trong bất kỳ tệp Notebook Jupyter nào là thư mục mà nó được lưu. Tuy nhiên, bạn có thể thay đổi thư mục làm việc trong mã của mình! The default working directory in any Jupyter Notebook file is the directory in which it is saved. However, you can change the working directory in your code!

Tuy nhiên, hãy tưởng tượng rằng bạn đặt thư mục làm việc của mình thành C:/4, đó là một thư mục con của

* earth-analytics\
    * data\
        * field-sites\
            * california\
_           * colorado\
              *  streams.csv
    * output-plots\
        * spatial-vector\
            * study-site.jpg
            * tree-species-distribution-map.jpg
3.

Đường dẫn tương đối chính xác đến tệp C:/2 bây giờ trông như thế này:

C:/7

Các đường dẫn tương đối rất hữu ích nếu bạn có thể tin tưởng vào bất cứ ai đang chạy mã của bạn để có một thiết lập thư mục làm việc tương tự như của bạn. Khi các chi tiết về thiết lập thư mục của bạn được chia sẻ với những người khác có thể sao chép nó, thì bạn có thể sử dụng các đường dẫn tương đối để hỗ trợ khả năng tái tạo và hợp tác.

Con đường tuyệt đối

Một đường dẫn tuyệt đối là một đường dẫn chứa toàn bộ đường dẫn đến tệp hoặc thư mục mà bạn cần truy cập. Đường dẫn này sẽ bắt đầu tại thư mục nhà của máy tính của bạn và sẽ kết thúc với tệp hoặc thư mục mà bạn muốn truy cập.

C:/8

Các đường dẫn tuyệt đối đảm bảo rằng Python có thể tìm thấy tệp chính xác trên máy tính của bạn.Python can find the exact file on your computer.

Tuy nhiên, như bạn đã thấy, máy tính có thể có một công trình đường dẫn khác nhau, tùy thuộc vào hệ điều hành và chứa các tên người dùng duy nhất cho máy cụ thể đó.

Có nhiều cách để khắc phục vấn đề này và các cách khác liên quan đến việc tìm các tệp trên các máy khác nhau bằng các công cụ như gói hệ điều hành trong Python. Bạn sẽ tìm hiểu thêm về các phương pháp này sau trong chương này.os package in Python. You will learn more about these approaches later in this chapter.

Một con đường tuyệt đối đưa ra ví dụ là gì?

Một đường dẫn tuyệt đối luôn chứa phần tử gốc và danh sách thư mục hoàn chỉnh cần thiết để định vị tệp. Ví dụ:/home/sally/statusReport là một con đường tuyệt đối./home/sally/statusReport is an absolute path.

Đường dẫn tuyệt đối và ví dụ đường dẫn tương đối là gì?

Một đường dẫn tuyệt đối được định nghĩa là chỉ định vị trí của tệp hoặc thư mục từ thư mục gốc (/).Nói cách khác, chúng ta có thể nói rằng một đường dẫn tuyệt đối là một đường dẫn hoàn chỉnh từ bắt đầu hệ thống tệp thực tế từ / thư mục.Đường dẫn tương đối được định nghĩa là đường dẫn liên quan đến hiện tại hoạt động trực tiếp (NKT).

Lệnh đường dẫn tuyệt đối là gì?

Con đường tuyệt đối là gì?Một đường dẫn tuyệt đối là đường dẫn đầy đủ đến một tệp hoặc thư mục.Nó liên quan đến thư mục gốc ( /).Lưu ý rằng đó là một thông lệ tốt nhất để sử dụng các đường dẫn tuyệt đối khi bạn sử dụng các đường dẫn tệp bên trong các tập lệnh.Ví dụ: đường dẫn tuyệt đối đến lệnh LS là:/usr/bin/ls.the full path to a file or directory. It is relative to the root directory ( / ). Note that it is a best practice to use absolute paths when you use file paths inside of scripts. For example, the absolute path to the ls command is: /usr/bin/ls .

Đó là một ví dụ về một con đường tương đối?

Một đường dẫn tương đối là một cách để chỉ định vị trí của một thư mục so với thư mục khác.Ví dụ: giả sử các tài liệu của bạn có trong C: \ Sample \ Documents và chỉ mục của bạn nằm trong C: \ Sample \ index.Đường dẫn tuyệt đối cho các tài liệu sẽ là C: \ Sample \ Tài liệu.C:\Sample\Documents and your index is in C:\Sample\Index. The absolute path for the documents would be C:\Sample\Documents.