Hướng dẫn how do i give a file path to a folder in python? - làm cách nào để cung cấp đường dẫn tệp tới thư mục trong python?

Trên trang này: Open (), Path Path, CWD ('Thư mục làm việc hiện tại'), tiền tố R 'RAW String', OS.GetCwd (), Os.Chdir ().

Tham khảo một tệp có đường dẫn và tên đầy đủ

Như đã thấy trong các hướng dẫn #12 và #13, bạn có thể tham khảo một tệp cục bộ trong Python bằng cách sử dụng đường dẫn đầy đủ của tệp và tên tệp. Dưới đây, bạn đang mở một tệp để đọc:

& nbsp;
>>> myfile = open('C:/Users/narae/Desktop/alice.txt')   # Windows
>>> mytxt = myfile.read()
>>> myfile.close()

& nbsp;
>>> myfile = open('C:/Users/narae/Desktop/alice.txt')   # Windows
>>> mytxt = myfile.read()
>>> myfile.close()

>>> myfile = open('/Users/narae/Desktop/alice.txt')     # Mac and Linux
>>> mytxt = myfile.read()
>>> myfile.close()

Trong Windows, một đường dẫn thư mục tệp đầy đủ bắt đầu bằng một ký tự ổ đĩa (c :, d :., v.v.). Trong Linux và OS-X, nó bắt đầu bằng "/", được gọi là gốc. Các thư mục được phân tách bằng một dấu gạch chéo "/". Bạn có thể tra cứu đường dẫn thư mục đầy đủ của tệp và tên tệp thông qua "thuộc tính" của nó. Xem cách nó được thực hiện trong Câu hỏi thường gặp này.

Tham khảo một tệp trong Windows
  • Trong Windows, có một vài cách bổ sung để tham khảo một tệp. Đó là bởi vì đường dẫn tập tin Windows sử dụng dấu gạch chéo ngược "\" thay vì chém. Python cho phép sử dụng cả hai trong hệ thống Windows, nhưng có một vài cạm bẫy cần chú ý. Để tổng hợp chúng:RECOMMENDED.
  • Python cho phép bạn sử dụng dấu gạch chéo kiểu OS-X/Linux "/" ngay cả trong Windows. Do đó, bạn có thể gọi tệp là 'C: /Users/narae/desktop/alice.txt'. KHUYẾN KHÍCH.backslash, because it is a special character in Python, you must remember to escape every instance: 'C:\\Users\\narae\\Desktop\\alice.txt'
  • Nếu sử dụng Backslash, vì nó là một nhân vật đặc biệt trong Python, bạn phải nhớ thoát khỏi mọi trường hợp: 'C: \\ users \\ narae \\ Desktop \\ alice.txt'rawstring marker "r": r'C:\Users\narae\Desktop\alice.txt'. That way, everything in the string is interpreted as a literal character, and you don't have to escape every backslash.

Ngoài ra, bạn có thể tiền tố toàn bộ chuỗi tên tệp với điểm đánh dấu RawString "r": r'c: \ users \ narae \ Desktop \ alice.txt '. Bằng cách đó, mọi thứ trong chuỗi được hiểu là một nhân vật theo nghĩa đen và bạn không phải thoát khỏi mọi dấu gạch chéo ngược.

Phím tắt tên tệp và CWD (thư mục làm việc hiện tại)

Vì vậy, sử dụng đường dẫn thư mục đầy đủ và tên tệp luôn hoạt động; Bạn nên sử dụng phương pháp này. Tuy nhiên, bạn có thể chỉ thấy các tệp được gọi bằng tên của chúng, ví dụ: 'Alice.txt' trong Python. Nó được thực hiện như thế nào?Current Working Directory (CWD) is crucial here. You can think of it as the folder your Python is operating inside at the moment. So far we have been using the absolute path, which begins from the topmost directory. But if your file reference does not start from the top (e.g.,

Khái niệm về thư mục làm việc hiện tại (CWD) là rất quan trọng ở đây. Bạn có thể nghĩ về nó như là thư mục Python của bạn đang hoạt động bên trong vào lúc này. Cho đến nay chúng tôi đã sử dụng đường dẫn tuyệt đối, bắt đầu từ thư mục trên cùng. Nhưng nếu tham chiếu tệp của bạn không bắt đầu từ đầu (ví dụ:

'Alice.txt'

'ling1330/alice.txt'

Thìrelative path").

), Python giả định rằng nó bắt đầu trong CWD (một "đường dẫn tương đối").

  • Điều này có nghĩa là một tham chiếu chỉ tên sẽ chỉ thành công khi tệp nằm trong CWD của bạn. Nhưng hãy nhớ rằng CWD của bạn có thể thay đổi. Ngoài ra, Python của bạn có cài đặt CWD ban đầu khác nhau tùy thuộc vào việc bạn đang làm việc với tập lệnh Python hay trong môi trường vỏ.Python script:
    When you execute your script, your CWD is set to the directory where your script is. Therefore, you can refer to a file in a script by its name only provided that the file and the script are in the same directory. An example:

    myfile = open('alice.txt')  # alice.txt is in the same dir as foo.py
    mytxt = myfile.read()
    myfile.close()
    foo.py 
    

  • Trong tập lệnh Python: Khi bạn thực thi tập lệnh của mình, CWD của bạn được đặt thành thư mục nơi tập lệnh của bạn. Do đó, bạn có thể tham khảo một tệp trong tập lệnh bằng tên của nó chỉ với điều kiện tệp và tập lệnh nằm trong cùng một thư mục. Một ví dụ:Python shell:
    In your shell, the initial CWD setting varies by system. In Windows, the default location is often 'C:/program Files (x86)/Python35-32' (which is inconvenient -- see this "Basic Configurations" page or this FAQ for how to change it). In OS-X, it is usually '/Users/username/Documents' where username is your user ID. (Mac users should see this FAQ for how to change your setting.) Unless your file happens to be in your CWD, you have two options:
    1. Trong vỏ Python: Trong vỏ của bạn, cài đặt CWD ban đầu thay đổi theo hệ thống. Trong Windows, vị trí mặc định thường là 'C:/Tệp chương trình (x86)/python35-32' (không bất tiện-xem trang "cấu hình cơ bản" này hoặc Câu hỏi thường gặp về cách thay đổi nó). Trong OS-X, thường là '/người dùng/tên người dùng/tài liệu' trong đó tên người dùng là ID người dùng của bạn. (Người dùng Mac sẽ xem Câu hỏi thường gặp này về cách thay đổi cài đặt của bạn.)
    2. Thay đổi CWD của bạn thành thư mục của tệp hoặc
Sao chép hoặc chuyển tập tin của bạn vào CWD của bạn. (Không được khuyến nghị, vì CWD của Shell của bạn có thể thay đổi.)

Xem ảnh chụp màn hình này và phần tiếp theo để biết cách làm việc với cài đặt CWD của bạn trong vỏ Python.

Tìm kiếm và thay đổi CWD

& nbsp;
>>> myfile = open('C:/Users/narae/Desktop/alice.txt')   # Windows
>>> mytxt = myfile.read()
>>> myfile.close()

>>> myfile = open('/Users/narae/Desktop/alice.txt')     # Mac and Linux
>>> mytxt = myfile.read()
>>> myfile.close()