Tham gia đường dẫn hệ điều hành toàn cầu Python

Trong bài đăng này, bạn sẽ tìm hiểu các cách khác nhau để liệt kê các tệp trong một thư mục, sử dụng cả thư viện OS và thư viện Glob

Làm việc với dữ liệu, bạn có thể rơi vào tình huống cần kết hợp các tệp khác nhau hoặc trích xuất dữ liệu từ tệp mới nhất

Mục lục

Cấu trúc thư mục mẫu

Để theo dõi, hãy sử dụng cấu trúc dữ liệu trong hình bên dưới. Mỗi tệp chứa dữ liệu bán hàng cho một tháng khác nhau, như được hiển thị bên dưới

Tham gia đường dẫn hệ điều hành toàn cầu Python

Nhập thư viện OS và Glob

Cả thư viện OS và Glob đều được cài đặt theo mặc định. Để nhập chúng, chỉ cần viết

import os
import glob

Sử dụng chức năng listdir của os để trả về tất cả các tệp trong một thư mục

Hàm listdir của hệ điều hành tạo danh sách tất cả các tệp (và thư mục) trong một thư mục

Để sử dụng điều này, chỉ cần chuyển thư mục làm đối số

Để làm theo, hãy tải các tệp mẫu vào một thư mục. Truyền đường dẫn đến thư mục Files vào đối số của hàm listdir

files = os.listdir(file_path)

print(files)
# Returns
# ['November.xlsx', 'October.xlsx', 'Other Files']

Sử dụng chức năng Walk của os để trả về tất cả các tệp trong một thư mục và tất cả các thư mục con

Nếu bạn muốn liệt kê tất cả các tệp trong một thư mục và tất cả các thư mục con, bạn có thể sử dụng chức năng os walk

Chức năng này khó hiểu hơn một chút, nhưng hãy xem mã bên dưới

files_list = []

for root, directories, files in os.walk(file_path):
	for name in files:
		files_list.append(os.path.join(root, name))

print(files_list)

Hàm walk trả về một bộ gồm ba. Vòng lặp for này đi qua các đầu ra đó

Xem một số hướng dẫn Python khác về datagy, bao gồm hướng dẫn đầy đủ của chúng tôi về cách tạo kiểu cho Pandas và tổng quan toàn diện của chúng tôi về Pivot Tables trong Pandas

Sử dụng Glob để liệt kê tất cả các tệp trong một thư mục

Glob hoạt động tương tự như chức năng os listdir, nhưng bạn có thể tìm kiếm tất cả các tệp hoặc những tệp phù hợp với các điều kiện cụ thể

Một lợi ích chính của thư viện toàn cầu là nó tự động bao gồm đường dẫn đến tệp trong mỗi mục. Điều này có thể đặc biệt hữu ích cho công việc liên quan đến dữ liệu

Ví dụ: để trả lại mọi thứ trong một thư mục, hãy sử dụng dấu hoa thị (*)

file_list = glob.glob("FILE_PATH/*")
print(file_list)

Điều này sẽ trả về tất cả các tệp và thư mục trong thư mục đó

Sử dụng Glob để trả về tất cả các tệp của một loại tệp trong một thư mục

Tương tự như ví dụ trên, bạn cũng có thể chỉ trả về các tệp phù hợp với một điều kiện nhất định. Ví dụ: nếu bạn chỉ muốn trả về các tệp Excel, bạn có thể viết

file_list = glob.glob("FILE_PATH/*.xlsx")

Điều này sẽ chỉ trả về các tệp có phần mở rộng xlsx

Điều này có thể cực kỳ hữu ích trong việc lấy tên tệp của chỉ một số loại tệp nhất định

Kết hợp dữ liệu với Pandas và Glob

Sử dụng Pandas và toàn cầu, thật dễ dàng để kết hợp nhiều tệp Excel vào một khung dữ liệu duy nhất

Ví dụ: nếu bạn muốn kết hợp các tệp tháng 11 và tháng 10 từ các tệp mẫu, điều này có thể được thực hiện dễ dàng với Glob và Pandas

file_list = glob.glob("FILE_PATH/*.xlsx")

files = []

for filename in file_list:
    df = pd.read_excel(filename)
    files.append(df)

frame = pd.concat(files, axis=0, ignore_index=True)

print(frame)

Điều này trả về một khung dữ liệu kết hợp đầy đủ của tất cả các tệp Excel trong một thư mục

Phần kết luận

Trong bài đăng này, bạn đã học cách liệt kê tất cả các tệp trong một thư mục bằng cách sử dụng hàm os listdir, cách duyệt qua các thư mục trong một thư mục và lấy tất cả các tên tệp cũng như cách sử dụng glob để nhận các đường dẫn tệp cụ thể. Cuối cùng, bạn đã học cách kết hợp các tệp Excel vào một khung dữ liệu duy nhất bằng cách sử dụng toàn cầu và Pandas

Hệ điều hành Python. con đường. phương thức tham gia kết hợp một hoặc nhiều tên đường dẫn thành một đường dẫn duy nhất. Phương pháp này thường được sử dụng với các phương thức os như os. walk() để tạo đường dẫn cuối cùng cho tệp hoặc thư mục. hệ điều hành. con đường. join() tự động thêm bất kỳ dấu gạch chéo cần thiết nào vào tên đường dẫn tệp

Cách sử dụng hệ điều hành Python. con đường. tham gia

Bạn có thể đã bị cuốn vào mê cung đường dẫn khi làm việc với các tệp trong Python

Tham gia đường dẫn hệ điều hành toàn cầu Python
Tham gia đường dẫn hệ điều hành toàn cầu Python

Tìm trận đấu Bootcamp của bạn

  • Career Karma kết hợp bạn với các bootcamp công nghệ hàng đầu
  • Truy cập học bổng độc quyền và các khóa học chuẩn bị
Chọn sở thích của bạn
Họ

Họ

E-mail

Số điện thoại


Bằng cách tiếp tục, bạn đồng ý với Điều khoản dịch vụ và Chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận các ưu đãi và cơ hội từ Career Karma qua điện thoại, tin nhắn văn bản và email

Để làm việc với các tệp, bạn cần chỉ định thư mục chứa tệp. Điều này dễ dàng hơn âm thanh. Nếu bạn không chỉ định đúng đường dẫn, chương trình của bạn sẽ không hoạt động

Trong hướng dẫn này, chúng ta sẽ nói về hệ điều hành. con đường. tham gia. Đây là phương pháp kết hợp các thành phần của đường dẫn tệp thành một đường dẫn hoàn chỉnh. Chúng tôi sẽ xem qua hai ví dụ để giúp bạn bắt đầu với phương pháp này

Có gì trong Đường dẫn tệp?

Đường dẫn tệp là dãy tên tệp và thư mục. Chuỗi tên này đưa bạn đến một vị trí nhất định trên hệ điều hành (HĐH) máy tính của bạn

Hãy lấy đường dẫn sau đây làm ví dụ

/Users/James/tutorials

Đường dẫn này đưa chúng ta đến một thư mục có tên là “hướng dẫn”. Nếu chúng tôi muốn truy cập một tệp hoặc thư mục cụ thể trong thư mục này, chúng tôi có thể trỏ tới nó bằng tên tệp của nó

/Users/James/tutorials/README.md

Bạn có thể viết các đường dẫn tệp này theo cách thủ công bằng Python. Làm như vậy có thể là không thực tế. Đó là nơi os. con đường. tham gia đi vào

Hệ điều hành Python là gì. con đường. tham gia?

hệ điều hành. con đường. tham gia kết hợp tên đường dẫn thành một đường dẫn hoàn chỉnh. Điều này có nghĩa là bạn có thể hợp nhất nhiều phần của đường dẫn thành một, thay vì mã hóa cứng mọi tên đường dẫn theo cách thủ công

Để sử dụng chức năng này, bạn cần nhập thư viện os vào mã của mình

________số 8_______

Chúng ta hãy xem cú pháp của os. con đường. phương thức tham gia (). hệ điều hành. con đường. chức năng tham gia chấp nhận danh sách các đường dẫn mà bạn muốn hợp nhất thành một

os.path.join(path1, path2...)

path1, path2 và tất cả các giá trị tiếp theo đại diện cho các đường dẫn bạn muốn kết hợp thành một tên duy nhất

path = os.path.join("/Users/James/tutorials", "index.html")
print(path)

Mã này trả về. /Người dùng/James/hướng dẫn/chỉ mục. html. hệ điều hành. con đường. phương thức tham gia tiếp tục từ thành phần đường dẫn tuyệt đối mà chúng tôi đã chỉ định (“/Users/James/tutorials”). Chúng tôi thêm chỉ số. html đến cuối đường dẫn

» THÊM.   Python AttributeError. 'nặng nề. đối tượng ndarray’ không có thuộc tính ‘chắp thêm’ Giải pháp

Tiện tay, hệ điều hành. con đường. phương thức tham gia chèn dấu gạch chéo về phía trước (được gọi là "dấu phân cách thư mục") khi cần thiết. Điều này làm cho nó trở thành một cách thuận tiện hơn để kết hợp các tên đường dẫn tệp hơn là ghép chúng theo cách thủ công

hệ điều hành. con đường. tham gia Python Ví dụ

Hãy viết kết hợp tên tệp “index. html” trong thư mục “hướng dẫn/web/”. Tệp này nằm trong thư mục làm việc hiện tại của chúng tôi

Chúng tôi sẽ bắt đầu bằng cách nhập thư viện os

________số 8_______

Tiếp theo, chúng ta sẽ lấy thư mục làm việc hiện tại để có thể thêm tên đường dẫn tệp vào đó

cwd = os.getcwd()

Điều này trả về thư mục làm việc hiện tại của chúng tôi, đó là /Users/James/tutorials. Thư mục "hướng dẫn" nằm trong thư mục chính của người dùng của chúng tôi. Chúng tôi có thể sử dụng thông tin này để thêm “hướng dẫn/web” vào cuối thư mục làm việc của chúng tôi

web_tutorials = os.path.join(cwd, "tutorials/web")
print(web_tutorials)

Mã này trả về. /Người dùng/James/hướng dẫn/web. Mã của chúng tôi đã kết hợp các thành phần tên đường dẫn thành một. Dấu gạch chéo (“/”) đã được thêm vào giữa các tên đường dẫn của chúng tôi. Đường dẫn này đề cập đến thư mục “web” trong đường dẫn hiện tại của chúng tôi

hệ điều hành Python. con đường. tham gia. Liệt kê tập tin

Hãy sử dụng hệ điều hành. con đường. phương thức tham gia để trả về đường dẫn tệp đầy đủ của tất cả các tệp trong một thư mục. Chúng tôi sẽ liệt kê tất cả các tệp trong thư mục “Máy tính để bàn” trên hệ thống tệp của chúng tôi. Thư mục này nằm trong thư mục “/Users/James/” trên ổ đĩa

Chúng tôi sẽ bắt đầu bằng cách nhập thư viện os và xác định thư mục mà chúng tôi muốn tìm kiếm

import os

cwd = os.getcwd()
desktop = os.path.join(cwd, "Desktop")

Mã này tạo đường dẫn tệp cho thư mục Desktop liên quan đến thư mục làm việc hiện tại của chúng tôi. Tiếp theo, chúng ta có thể sử dụng hệ điều hành Python. listdir() để lấy danh sách tất cả các tệp trong thư mục này

files = os.listdir(desktop)

Phương thức này trả về một danh sách tên của tất cả các tệp xuất hiện trong thư mục Desktop. Nó không bao gồm các đường dẫn của các tập tin. Bây giờ chúng ta có danh sách các tệp này, chúng ta có thể in tất cả chúng ra bàn điều khiển. Chúng tôi sẽ in đường dẫn tệp đầy đủ cho từng tệp bằng os. con đường. tham gia và một Python cho vòng lặp

/Users/James/tutorials/README.md
0

Mã này lặp qua tất cả các tệp trong thư mục Máy tính để bàn. Nó hợp nhất tên của từng tệp với tên đường dẫn của thư mục Desktop. mã của chúng tôi trả về

/Users/James/tutorials/README.md
1

Có ba tệp trên máy tính để bàn của tôi. . DS_Store, Ghi chú. md và Việc cần làm. md. Chúng tôi đã sử dụng hệ điều hành. con đường. join() để tạo đường dẫn đầy đủ của từng tệp

» THÊM.   Lỗi loại Python. chỉ có thể nối danh sách (không phải “int”) vào danh sách Giải pháp

Phần kết luận

hệ điều hành. con đường. phương thức tham gia kết hợp các thành phần trong tên đường dẫn để tạo tên đường dẫn đầy đủ

Phương pháp này giúp dễ dàng kết hợp hai hoặc nhiều thành phần của tên đường dẫn. ô. con đường. tham gia tự động chèn dấu gạch chéo (“/”) vào tên đường dẫn khi cần

Tham gia đường dẫn hệ điều hành toàn cầu Python
Tham gia đường dẫn hệ điều hành toàn cầu Python

"Career Karma bước vào cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi phù hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi đã tìm được công việc mơ ước phù hợp với giá trị và mục tiêu của mình trong cuộc sống. "

Venus, Kỹ sư phần mềm tại Rockbot

Find Your Bootcamp Match

Nếu bạn muốn tìm hiểu thêm về ngôn ngữ lập trình Python, hãy xem hướng dẫn Cách học Python của chúng tôi



Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK

Tham gia đường dẫn hệ điều hành Python là gì?

os. con đường. tham gia kết hợp các tên đường dẫn thành một đường dẫn hoàn chỉnh . Điều này có nghĩa là bạn có thể hợp nhất nhiều phần của đường dẫn thành một, thay vì mã hóa cứng mọi tên đường dẫn theo cách thủ công.

Sự khác biệt giữa đường dẫn toàn cầu và os trong Python là gì?

Glob bằng Python. glob là một công cụ mạnh mẽ trong Python để trợ giúp quản lý và lọc tệp. Trong khi os giúp quản lý và tạo các đường dẫn cụ thể thân thiện với bất kỳ máy nào chúng được sử dụng, thì glob giúp lọc qua các tập dữ liệu lớn và chỉ lấy ra các tệp được quan tâm.

Việc sử dụng đường dẫn os Dirname (_ tệp _) trong phương pháp này là gì?

đường dẫn. phương thức dirname() trong Python được sử dụng để lấy tên thư mục từ đường dẫn đã chỉ định .

Sự thay thế cho toàn cầu trong Python là gì?

Một giải pháp thay thế thích hợp hơn là sử dụng phương pháp iglob . Phương thức iglob khác với phương thức toàn cầu ở chỗ nó trả về một đối tượng lặp thay vì thu thập tất cả các giá trị cùng một lúc.