sách gpt4 ai đã đi

Cách lấy đường dẫn tệp/thư mục trong Python

In lại Tác giả:qq735679552 Thời gian cập nhật: 2022-09-27 22:32:09 28 4
mua khóa gpt4 Nike

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():
   # stack() trả về danh sách ngăn xếp cuộc gọi.
   khung_ngăn_chồng = kiểm tra.stack()
   # 0 là ngăn xếp xác định hàm hiện tại, 1 là ngăn xếp xác định hàm trước đó, v.v.
   # Giá trị này không nhất thiết phải là 1, nó phụ thuộc vào cấp độ của hàm có đường dẫn tệp mà bạn muốn lấy.
   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
   # Vì hàm gọi hiện tại và hàm được gọi được đặt trong cùng một tệp nên tên tệp vẫn là tên tệp hiện tại
   # Hàm gọi và hàm được gọi có thể được đặt trong các tệp khác nhau để quan sát
   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 tuyệt đối
đường dẫn tệp hiện tại = __tài liệu__
# Trích xuất thư mục từ đường dẫn tuyệt đối với dirname()
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}" )
 
# Tương tự, bạn có thể sử dụng basename() để trích xuất tên tệp từ đường dẫn tuyệt đối
# current_filename = os.path.basename(current_file_path)
 
# Ngoài ra, bạn nên sử dụng os.path.join() để triển khai ghép nối đường dẫn, để bạn không phải lo lắng về vấn đề phân tách đường dẫn
# Ngoài ra, tham số os.path.join() không nhất thiết phải ở dạng thư mục + tên tệp. Có thể nối bất kỳ số lượng tham số nào.
# current_file_path = os.path.join(current_file_dir, current_filename)

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"
 
# Tạo một tập tin trống
mở (tên_tệp, 'chúng ta' ).đóng()
 
# Xóa tập tin
os.remove(tên_tệp)
 
# Đổi tên tập tin
os.rename(tên_tệp, tên_tệp_mới)
 
# Đọc tập tin
với mở (tên_tệp, 'r' ) như fd:
   # Đọc toàn bộ nội dung
   fd.đọc()
   # Đọc một dòng
   fd.readline()
   # Đọc tất cả các hàng và trả về một bảng bao gồm mỗi hàng
   fd.readlines()
 
# Cách đơn giản để duyệt qua từng dòng của tệp
đường kẻ TRONG mở (tên_tệp, 'r' , mã hóa = 'utf-8' ):
   in (đường kẻ)
 
# Ghi tập tin
với mở (tên_tệp, 'chúng ta' ) như fd:
   # Ghi nội dung vào file, bạn cần tự thêm vào\n
   fd. ghi( "chuỗi_kiểm_tra" )
   # Ghi nội dung vào file, bạn cần tự thêm vào\n
   # Sự khác biệt so với write là tham số của nó có thể là một chuỗi hoặc một danh sách các chuỗi.
   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"
 
# Tạo một thư mục. Biểu mẫu này tương tự như mkdir của shell và sẽ không tạo được thư mục cha nếu nó không tồn tại.
os.mkdir(tên_thư_mục)
# Tạo một thư mục. Biểu mẫu này tương tự như lệnh mkdir -p của shell, tự động tạo thư mục cha nếu thư mục cha không tồn tại.
os.makedirs(tên_thư_mục, tồn_tại = ĐÚNG VẬY )
 
# Xóa thư mục. Biểu mẫu này tương đương với rmdir của shell và việc xóa sẽ không thành công nếu thư mục không trống.
os.rmdir(tên_thư_mục)
# Xóa thư mục. Biểu mẫu này tương đương với rm -rf của shell
nhập khẩu đóng cửa
shutil.rmtree(tên_thư_mục)
 
# Đổi tên thư mục.
os.rename(tên_thư_mục, tên_thư_mục_mới)
 
# Duyệt qua thư mục
# dir_path là thư mục hiện đang được duyệt. dir_names là danh sách các thư mục trong dir_path. file_names là danh sách các tập tin trong dir_path
# Nếu bạn muốn triển khai danh sách trắng thư mục, hãy xóa thư mục danh sách trắng khỏi dir_names
(đường dẫn thư mục, tên thư mục, tên tệp) TRONG os.walk(tên_thư_mục):
   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! .

28 4 0
qq735679552
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com