CFSDN nhấn mạnh vào việc tạo ra giá trị thông qua mã nguồn mở. Chúng tôi cam kết xây dựng một nền tảng chia sẻ tài nguyên để mọi người làm CNTT có thể tìm thấy thế giới tuyệt vời của riêng mình tại đây.
Bài đăng trên blog CFSDN này Cách lấy đường dẫn tệp/thư mục trong Python được tác giả thu thập và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.
1. Nhận triển khai đường dẫn tệp.
1.1 Lấy đường dẫn tệp hiện tại.
?
1
2
3
4
|
nhập khẩu
hệ điều hành
đường dẫn tệp hiện tại
=
__tài liệu__
in
(và)
"đường dẫn tệp hiện tại: {đường dẫn tệp hiện tại}"
)
|
Trên thực tế có một vấn đề với biến __file__. Khi tệp được gọi, __file__ luôn là đường dẫn tuyệt đối của tệp; nhưng khi tệp được thực thi trực tiếp, __file__ không phải lúc nào cũng là đường dẫn tuyệt đối của tệp, mà là đường dẫn bạn truyền cho Python khi thực thi tệp. Ví dụ, nếu bạn thực thi nó dưới dạng python xxx/yyy.py, thì giá trị của __file__ là xxx/yyy.py.
Bạn có thể sử dụng cách thống nhất hơn sau đây để lấy đường dẫn tệp:
?
1
2
3
4
|
nhập khẩu
thanh tra
tên_tệp_hiện_tại
=
kiểm tra.getfile(kiểm tra.currentframe())
in
(và)
"tên_tệp_hiện_tại: {tên_tệp_hiện_tại}"
)
|
1.2 Lấy đường dẫn tệp của tệp gọi.
Đôi khi chúng ta muốn lấy đường dẫn tệp của tệp cha gọi tệp hiện tại. Điều này có thể đạt được thông qua mã sau:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
nhập khẩu
thanh tra
định nghĩa
be_gọi_vui():
khung_ngăn_chồng
=
kiểm tra.stack()
khung người gọi
=
khung_ngăn_chồng[
1
]
đường dẫn tệp người gọi
=
caller_frame.tên_tệp
in
(và)
"đường dẫn tệp người gọi: {đường dẫn tệp người gọi}"
)
định nghĩa
người gọi vui vẻ():
be_gọi_vui()
nếu như
__tên__
=
=
"__chủ yếu__"
:
người gọi_vui()
|
2. Lấy thư mục.
2.1 Lấy thư mục làm việc hiện tại.
Thư mục làm việc hiện tại là thư mục nơi shell được đặt khi bạn thực thi lệnh python để thực thi tệp python.
?
1
2
3
4
|
nhập khẩu
hệ điều hành
thư mục làm việc hiện tại
=
os.getcwd()
in
(và)
"current_working_dir: {current_working_dir}"
)
|
2.2 Lấy thư mục bằng cách sử dụng đường dẫn.
Trong phần đầu tiên, chúng tôi đã giới thiệu một số cách để lấy đường dẫn tệp. Để lấy thư mục chứa tệp tương ứng, bạn có thể trực tiếp sử dụng các đường dẫn này + os.path.dirname().
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
nhập khẩu
hệ điều hành
đường dẫn tệp hiện tại
=
__tài liệu__
thư mục tập tin hiện tại
=
os.path.dirname(đường_dẫn_tệp_hiện_tại)
in
(và)
"current_file_dir: {current_file_dir}"
)
|
3. Một số thao tác khác trên tập tin và thư mục.
3.1 Các thao tác thông thường trên tập tin.
r--Mở tệp ở chế độ đọc và báo lỗi nếu tệp không tồn tại. r+--Mở tệp ở chế độ đọc-ghi và báo lỗi nếu tệp không tồn tại. Khi viết, nội dung gốc sẽ không bị xóa mà sẽ được ghi đè bằng nội dung thay thế. w - Mở tệp ở chế độ ghi và tạo tệp nếu tệp không tồn tại. Nội dung hiện có sẽ bị xóa. w+--Mở tệp ở chế độ đọc-ghi và tạo tệp nếu tệp không tồn tại. Nội dung hiện có sẽ bị xóa. a - Mở tệp ở chế độ thêm và tạo tệp nếu tệp chưa tồn tại. a+--Mở tệp ở chế độ đọc-thêm và tạo tệp nếu tệp chưa tồn tại.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
hai mươi mốt
hai mươi hai
hai mươi ba
hai mươi bốn
25
26
27
28
29
30
31
32
33
34
35
|
nhập khẩu
hệ điều hành
tên_tệp
=
"test.txt"
tên_tệp_mới
=
"new_test.txt"
mở
(tên_tệp,
'chúng ta'
).đóng()
os.remove(tên_tệp)
os.rename(tên_tệp, tên_tệp_mới)
với
mở
(tên_tệp,
'r'
) như fd:
fd.đọc()
fd.readline()
fd.readlines()
vì
đường kẻ
TRONG
mở
(tên_tệp,
'r'
, mã hóa
=
'utf-8'
):
in
(đường kẻ)
với
mở
(tên_tệp,
'chúng ta'
) như fd:
fd. ghi(
"chuỗi_kiểm_tra"
)
fd.writelines([
"chuỗi_kiểm_tra"
,
"chuỗi_kiểm_tra"
])
|
3.2 Các thao tác phổ biến trên thư mục.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
hai mươi mốt
hai mươi hai
hai mươi ba
hai mươi bốn
25
26
|
nhập khẩu
hệ điều hành
tên_thư_viện
=
"test_dir/tên_thư_mục"
tên_thư_mục_mới
=
"test_dir/tên_thư_mục_mới"
os.mkdir(tên_thư_mục)
os.makedirs(tên_thư_mục, tồn_tại
=
ĐÚNG VẬY
)
os.rmdir(tên_thư_mục)
nhập khẩu
đóng cửa
shutil.rmtree(tên_thư_mục)
os.rename(tên_thư_mục, tên_thư_mục_mới)
vì
(đường dẫn thư mục, tên thư mục, tên tệp)
TRONG
os.walk(tên_thư_mục):
vì
tên_tệp
TRONG
tên_tệp:
in
(os.path.join(dir_path, tên_tệp))
|
Trên đây là chi tiết về cách Python lấy đường dẫn/thư mục tệp. Để biết thêm thông tin về cách Python lấy đường dẫn/thư mục tệp, vui lòng chú ý đến các bài viết liên quan khác của tôi! .
Liên kết gốc: https://www.cnblogs.com/lsdb/p/13265688.html.
Cuối cùng, bài viết này về cách lấy đường dẫn/thư mục tệp trong Python kết thúc tại đây. Nếu bạn muốn biết thêm về cách lấy đường dẫn/thư mục tệp trong Python, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!