Hướng dẫn where is python file directory? - thư mục tệp python ở đâu?

Mô-đun

from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
1, được giới thiệu trong Python 3.4 (PEP 428-Mô-đun PATHLIB-Đường dẫn hệ thống tập tin hướng đối tượng), làm cho trải nghiệm liên quan đến đường dẫn tốt hơn nhiều.

pwd

/home/skovorodkin/stack

tree

.
└── scripts
    ├── 1.py
    └── 2.py

Để có được thư mục làm việc hiện tại, hãy sử dụng

from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
2:

from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack

Để có được một đường dẫn tuyệt đối đến tệp tập lệnh của bạn, hãy sử dụng phương thức

from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
3:

print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py

Và để có được đường dẫn của một thư mục nơi đặt tập lệnh của bạn, truy cập

from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
4 (nên gọi
from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
5 trước
from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
4):

print(Path(__file__).resolve().parent)  # /home/skovorodkin/stack/scripts

Hãy nhớ rằng

from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
7 không đáng tin cậy trong một số tình huống: Làm thế nào để tôi có được đường dẫn của tệp được thực hiện hiện tại trong Python ?.


Xin lưu ý rằng

from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
2,
from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
3 và các phương thức
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
0 khác trả về các đối tượng đường dẫn (
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
1 trong trường hợp của tôi), không phải chuỗi. Trong Python 3,4 và 3.5 gây ra một số đau, bởi vì hàm tích hợp
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
2 chỉ có thể hoạt động với các đối tượng chuỗi hoặc byte và không hỗ trợ các đối tượng
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
0, vì vậy bạn phải chuyển đổi các đối tượng
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
0 thành các chuỗi hoặc sử dụng phương pháp Tùy chọn yêu cầu bạn thay đổi mã cũ:

Tập lệnh tệp/2.py

from pathlib import Path

p = Path(__file__).resolve()

with p.open() as f: pass
with open(str(p)) as f: pass
with open(p) as f: pass

print('OK')

Đầu ra

python3.5 scripts/2.py

Traceback (most recent call last):
  File "scripts/2.py", line 11, in 
    with open(p) as f:
TypeError: invalid file: PosixPath('/home/skovorodkin/stack/scripts/2.py')

Như bạn có thể thấy,

print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
6 không hoạt động với Python 3.5.

PEP 519 - Thêm giao thức đường dẫn hệ thống tệp, được triển khai trong Python 3.6, thêm hỗ trợ của các đối tượng

print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
7 vào hàm
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
2, vì vậy bây giờ bạn có thể chuyển các đối tượng
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
0 cho chức năng
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
2 trực tiếp:

python3.6 scripts/2.py

OK

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;
from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
0

& nbsp;
from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
0

Lưu ý rằng CWD được trình thông dịch Python trả về ở định dạng đường dẫn tệp Windows: nó sử dụng dấu gạch chéo ngược "\" cho dấu phân cách thư mục và mọi trường hợp được thoát ra. Mặc dù Python cho phép người dùng Windows sử dụng kiểu Linux/OS-X "/" trong các đường dẫn tệp, nhưng bên trong nó sử dụng định dạng đường dẫn tệp bản địa OS.

Tệp Python nằm ở đâu?

Xác định vị trí thủ công nơi Python được cài đặt loại 'Python' trong thanh tìm kiếm Windows. Nhấp chuột phải vào ứng dụng Python, sau đó chọn Vị trí tệp Mở Mở Nhấp chuột phải vào phím tắt Python, sau đó chọn Thuộc tính. Nhấp vào trên “Mở tệp vị trí
  • Thư mục tệp trong Python là gì?RECOMMENDED.
  • Thư mục hoặc thư mục là một tập hợp các tệp và thư mục con. Python có mô -đun HĐH cung cấp cho chúng tôi nhiều phương pháp hữu ích để làm việc với các thư mục (và các tệp).backslash, because it is a special character in Python, you must remember to escape every instance: 'C:\\Users\\narae\\Desktop\\alice.txt'
  • 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 ().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.

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:

>>> myfile = open('C:/Users/narae/Desktop/alice.txt')   # Windows
>>> mytxt = myfile.read()
>>> myfile.close()
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.,

________số 8

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.

'ling1330/alice.txt'

Tham khảo một tệp trong Windowsrelative path").

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:

  • 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.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 
    

  • 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'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. 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.
    2. Phím tắt tên tệp và CWD (thư mục làm việc hiện tạ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

Hệ điều hành Module Python cung cấp các tiện ích để hiển thị và sửa đổi thư mục làm việc hiện tại của bạn. Dưới đây minh họa cách tìm cwd của bạn (.getcwd ()) và thay đổi nó thành một thư mục khác (.chdir ()). Dưới đây là một ví dụ cho HĐH Windows:

& nbsp;
from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
0

Lưu ý rằng CWD được trình thông dịch Python trả về ở định dạng đường dẫn tệp Windows: nó sử dụng dấu gạch chéo ngược "\" cho dấu phân cách thư mục và mọi trường hợp được thoát ra. Mặc dù Python cho phép người dùng Windows sử dụng kiểu Linux/OS-X "/" trong các đường dẫn tệp, nhưng bên trong nó sử dụng định dạng đường dẫn tệp bản địa OS.

Tệp Python nằm ở đâu?

Xác định vị trí thủ công nơi Python được cài đặt loại 'Python' trong thanh tìm kiếm Windows. Nhấp chuột phải vào ứng dụng Python, sau đó chọn Vị trí tệp Mở Mở Nhấp chuột phải vào phím tắt Python, sau đó chọn Thuộc tính. Nhấp vào trên “Mở tệp vị tríType 'Python' in the Windows Search Bar. Right-click on the Python App, and then select “Open file location“ Right-click on the Python shortcut, and then select Properties. Click on “Open File Location“

Thư mục tệp trong Python là gì?

Thư mục hoặc thư mục là một tập hợp các tệp và thư mục con.Python có mô -đun HĐH cung cấp cho chúng tôi nhiều phương pháp hữu ích để làm việc với các thư mục (và các tệp).a collection of files and subdirectories. Python has the os module that provides us with many useful methods to work with directories (and files as well).