Hướng dẫn how do you go to a file directory in python? - làm thế nào để bạn đi đến một thư mục tệp trong python?

Mô-đun

from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
5, đượ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
6:

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
7:

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
8 (nên gọi
from pathlib import Path

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

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

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

Hãy nhớ rằng

print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
1 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
6,
from pathlib import Path

print(Path.cwd())  # /home/skovorodkin/stack
7 và các phương thức
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
4 khác trả về các đối tượng đường dẫn (
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
5 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, vì
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
6 Chức năng tích hợp 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
4, 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
4 thành các chuỗi hoặc sử dụng phương pháp
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
9, nhưng sau này 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().parent)  # /home/skovorodkin/stack/scripts
0 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().parent)  # /home/skovorodkin/stack/scripts
1 vào hàm
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
6, 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
4 cho chức năng
print(Path(__file__).resolve())  # /home/skovorodkin/stack/scripts/1.py
6 trực tiếp:

python3.6 scripts/2.py

OK

Thư mục Python

Nếu có một số lượng lớn các tệp để xử lý trong chương trình Python của chúng tôi, chúng tôi có thể sắp xếp mã của chúng tôi trong các thư mục khác nhau để làm cho mọi thứ dễ quản lý hơn.

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

print(Path(__file__).resolve().parent)  # /home/skovorodkin/stack/scripts
5 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 cũng vậy).


Nhận thư mục hiện tại

Chúng ta có thể nhận được thư mục làm việc hiện tại bằng phương pháp

print(Path(__file__).resolve().parent)  # /home/skovorodkin/stack/scripts
6 của mô -đun
print(Path(__file__).resolve().parent)  # /home/skovorodkin/stack/scripts
5.

Phương thức này trả về thư mục làm việc hiện tại dưới dạng chuỗi. Chúng ta cũng có thể sử dụng phương thức

print(Path(__file__).resolve().parent)  # /home/skovorodkin/stack/scripts
8 để lấy nó làm đối tượng byte.

>>> import os

>>> os.getcwd()
'C:\\Program Files\\PyScripter'

>>> os.getcwdb()
b'C:\\Program Files\\PyScripter'

Backslash thêm ngụ ý một chuỗi thoát. Hàm

print(Path(__file__).resolve().parent)  # /home/skovorodkin/stack/scripts
9 sẽ hiển thị điều này đúng cách.

>>> print(os.getcwd())
C:\Program Files\PyScripter

Thay đổi thư mục

Chúng ta có thể thay đổi thư mục làm việc hiện tại bằng cách sử dụng phương thức

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')
0.

Đường dẫn mới mà chúng tôi muốn thay đổi phải được cung cấp dưới dạng chuỗi cho phương pháp này. Chúng ta có thể sử dụng cả slash forward

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')
1 hoặc lùi
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')
2 để tách các yếu tố đường dẫn.

Sẽ an toàn hơn khi sử dụng một chuỗi thoát khi sử dụng chém ngược.

>>> os.chdir('C:\\Python33')

>>> print(os.getcwd())
C:\Python33

Danh sách các thư mục và tập tin

Tất cả các tệp và các thư mục phụ bên trong một thư mục có thể được truy xuất bằng phương thức

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')
3.

Phương thức này có một đường dẫn và trả về một danh sách các thư mục con và tệp trong đường dẫn đó. Nếu không có đường dẫn nào được chỉ định, nó sẽ trả về danh sách các thư mục con và tệp từ thư mục làm việc hiện tại.

from pathlib import Path

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

Tạo một thư mục mới

Chúng ta có thể tạo một thư mục mới bằng phương pháp

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')
4.

Phương pháp này đi theo con đường của thư mục mới. Nếu đường dẫn đầy đủ không được chỉ định, thư mục mới được tạo trong thư mục làm việc hiện tại.

from pathlib import Path

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

Đổi tên một thư mục hoặc một tệp

Phương thức

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')
5 có thể đổi tên một thư mục hoặc một tệp.

Để đổi tên bất kỳ thư mục hoặc tệp nào, phương thức

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')
5 lấy hai đối số cơ bản: tên cũ là đối số đầu tiên và tên mới là đối số thứ hai.

from pathlib import Path

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

Xóa thư mục hoặc tệp

Một tệp có thể được xóa (xóa) bằng phương thức

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')
7.

Tương tự, phương pháp

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')
8 sẽ loại bỏ một thư mục trống.

from pathlib import Path

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

Lưu ý: Phương pháp

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')
8 chỉ có thể xóa các thư mục trống.: The
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')
8 method can only remove empty directories.

Để xóa một thư mục không trống, chúng ta có thể sử dụng phương thức

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')
0 bên trong mô-đun
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')
1.

from pathlib import Path

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

Làm thế nào để tôi nhìn vào một thư mục trong Python?

Để tìm ra thư mục nào trong Python bạn hiện đang ở, hãy sử dụng phương thức getCwd ().CWD dành cho thư mục làm việc hiện tại trong Python.Điều này trả về đường dẫn của thư mục Python hiện tại như một chuỗi trong Python.use the getcwd() method. Cwd is for current working directory in python. This returns the path of the current python directory as a string in Python.

Làm thế nào để bạn truy cập một tệp trong Python?

Có 6 chế độ truy cập trong Python ...
Chỉ đọc ('r'): Mở tệp văn bản để đọc.....
Đọc và viết ('R+'): Mở tệp để đọc và viết.....
Chỉ viết ('W'): Mở tệp để viết.....
Viết và đọc ('W+'): Mở tệp để đọc và viết.....
Chỉ nối thêm ('A'): Mở tệp để viết ..

Làm cách nào để tìm thư mục của một tệp?

Nhấp vào nút Bắt đầu và sau đó nhấp vào Máy tính, nhấp để mở vị trí của tệp mong muốn, giữ phím Shift và nhấp chuột phải vào tệp.Sao chép dưới dạng đường dẫn: Nhấp vào tùy chọn này để dán đường dẫn tệp đầy đủ vào tài liệu.Thuộc tính: Nhấp vào tùy chọn này để xem ngay đường dẫn tệp (vị trí) đầy đủ.hold down the Shift key and right-click the file. Copy As Path: Click this option to paste the full file path into a document. Properties: Click this option to immediately view the full file path (location).