Toàn cầu Python có hoạt động trên Windows không?

Một trong những phiền toái nhỏ của lập trình là Microsoft Windows sử dụng ký tự dấu gạch chéo ngược giữa các tên thư mục trong khi hầu hết các máy tính khác sử dụng dấu gạch chéo lên

Đây là một tai nạn của lịch sử máy tính đầu năm 1980. Phiên bản đầu tiên của MS-DOS đã sử dụng ký tự gạch chéo về phía trước để chỉ định các tùy chọn dòng lệnh. Khi Microsoft thêm hỗ trợ cho các thư mục trong MS-DOS 2. 0, ký tự gạch chéo lên đã được sử dụng nên họ đã sử dụng dấu gạch chéo ngược để thay thế. Ba mươi lăm năm sau, chúng ta vẫn mắc kẹt với sự không tương thích này

Nếu bạn muốn mã Python của mình hoạt động trên cả Windows và Mac/Linux, bạn sẽ cần xử lý các loại vấn đề cụ thể của nền tảng này. May mắn thay, Python 3 có một mô-đun mới gọi là pathlib giúp làm việc với các tệp gần như không gây khó khăn

Hãy xem nhanh các cách khác nhau để xử lý đường dẫn tên tệp và xem cách pathlib có thể giúp cuộc sống của bạn tốt hơn

Giải pháp sai. Xây dựng đường dẫn tệp bằng tay

Giả sử bạn có một thư mục dữ liệu chứa tệp mà bạn muốn mở trong chương trình Python của mình

Đây là cách sai để viết mã bằng Python

Lưu ý rằng tôi đã mã hóa cứng đường dẫn bằng cách sử dụng dấu gạch chéo lên kiểu Unix vì tôi đang sử dụng máy Mac. Điều này sẽ khiến người dùng Windows tức giận

Về mặt kỹ thuật, mã này sẽ vẫn hoạt động trên Windows vì Python có nơi nó sẽ nhận ra một trong hai loại dấu gạch chéo khi bạn gọi open[] trên Windows. Nhưng ngay cả khi vẫn vậy, bạn không nên phụ thuộc vào điều đó. Không phải tất cả các thư viện Python đều hoạt động nếu bạn sử dụng sai loại dấu gạch chéo trên hệ điều hành sai — đặc biệt nếu chúng giao tiếp với các chương trình hoặc thư viện bên ngoài

Và sự hỗ trợ của Python để trộn các loại dấu gạch chéo là một bản hack chỉ dành cho Windows không hoạt động ngược lại. Sử dụng dấu gạch chéo ngược trong mã sẽ hoàn toàn thất bại trên máy Mac

Vì tất cả những lý do này và hơn thế nữa, viết mã với các chuỗi đường dẫn được mã hóa cứng là thứ sẽ khiến các lập trình viên khác nhìn bạn với ánh mắt nghi ngờ. Nói chung, bạn nên cố gắng tránh nó

Giải pháp cũ. hệ điều hành của Python. mô-đun đường dẫn

hệ điều hành của Python. mô-đun đường dẫn có rất nhiều công cụ để khắc phục các loại sự cố hệ thống tệp dành riêng cho hệ điều hành này

Bạn có thể sử dụng hệ điều hành. con đường. join[] để tạo chuỗi đường dẫn bằng cách sử dụng đúng loại dấu gạch chéo cho hệ điều hành hiện tại

Mã này sẽ hoạt động hoàn hảo trên cả Windows hoặc Mac. Vấn đề là nó rất khó sử dụng. Viết ra os. con đường. join[] và chuyển từng phần của đường dẫn dưới dạng một chuỗi riêng biệt dài dòng và không trực quan

Vì hầu hết các chức năng trong hệ điều hành. mô-đun đường dẫn cũng khó sử dụng tương tự, các nhà phát triển thường “quên” sử dụng chúng ngay cả khi họ biết rõ hơn. Điều này dẫn đến rất nhiều lỗi đa nền tảng và người dùng tức giận

Giải pháp tốt hơn. Pathlib của Python 3

Trăn 3. 4 đã giới thiệu một thư viện tiêu chuẩn mới để xử lý các tệp và đường dẫn có tên là pathlib — và thật tuyệt

Để sử dụng nó, bạn chỉ cần chuyển một đường dẫn hoặc tên tệp vào một đối tượng Path[] mới bằng cách sử dụng dấu gạch chéo lên và nó sẽ xử lý phần còn lại

Lưu ý hai điều ở đây

  1. Bạn nên sử dụng dấu gạch chéo về phía trước với các hàm pathlib. Đối tượng Path[] sẽ chuyển đổi các dấu gạch chéo về phía trước thành loại dấu gạch chéo chính xác cho hệ điều hành hiện tại. Tốt đẹp
  2. Nếu bạn muốn thêm vào đường dẫn, bạn có thể sử dụng toán tử / trực tiếp trong mã của mình. Nói lời tạm biệt với việc gõ os. con đường. tham gia [a, b] lặp đi lặp lại

Và nếu đó là tất cả những gì mà pathlib đã làm, thì nó sẽ là một bổ sung tuyệt vời cho Python — nhưng nó còn làm được nhiều hơn thế

Ví dụ: chúng ta có thể đọc nội dung của tệp văn bản mà không cần phải thao tác mở và đóng tệp

tiền boa. Các ví dụ trước bị lỗi vì tệp đã mở không bao giờ được đóng. Cú pháp này tránh hoàn toàn lỗi đó

Trên thực tế, pathlib làm cho hầu hết các thao tác với tệp tiêu chuẩn trở nên nhanh chóng và dễ dàng

Bạn thậm chí có thể sử dụng pathlib để chuyển đổi rõ ràng đường dẫn Unix thành đường dẫn có định dạng Windows

Và nếu bạn THỰC SỰ muốn sử dụng dấu gạch chéo ngược trong mã của mình một cách an toàn, bạn có thể khai báo đường dẫn của mình dưới dạng định dạng Windows và pathlib có thể chuyển đổi nó để hoạt động trên hệ điều hành hiện tại

Nếu muốn thú vị, bạn thậm chí có thể sử dụng pathlib để thực hiện những việc như giải quyết đường dẫn tệp tương đối, phân tích đường dẫn chia sẻ mạng và tạo tệp. // url. Đây là một ví dụ sẽ mở một tệp cục bộ trong trình duyệt web của bạn chỉ bằng hai dòng mã

Đây chỉ là một đỉnh nhỏ tại pathlib. Đó là một sự thay thế tuyệt vời cho nhiều chức năng liên quan đến tệp khác nhau đã từng nằm rải rác xung quanh các mô-đun Python khác nhau. Kiểm tra nó ra

Cảm ơn vì đã đọc. Nếu bạn quan tâm đến Học máy [hoặc chỉ muốn hiểu nó là gì], hãy xem Học máy rất thú vị của tôi. loạt hoặc đăng ký nhận bản tin của tôi

Đối với nhiều dự án dữ liệu, việc thao tác và phân tích cú pháp đường dẫn tệp và thư mục có thể hữu ích, đặc biệt khi bạn muốn truy cập tệp dữ liệu theo chương trình và tự động hóa quy trình công việc

Để bắt đầu làm việc với đường dẫn tệp và thư mục trong Python, trước tiên bạn cần một số tệp. Trên trang này, trước tiên bạn sẽ học cách sử dụng gói earthpy để tải xuống các tệp từ một URL [địa chỉ internet]

Sau đó, bạn sẽ sử dụng các gói os và glob để truy cập các tệp và thư mục và để tạo danh sách các đường dẫn mà bạn có thể phân tích cú pháp để trích xuất thông tin hữu ích từ tên tệp và thư mục

Tải xuống tệp bằng EarthPy

Bạn có thể sử dụng chức năng

['data/earthpy-downloads/avg-monthly-temp-fahr']
9 từ gói earthpy để tải xuống dữ liệu từ các nguồn trực tuyến như Figshare. kho dữ liệu com

Bắt đầu bằng cách nhập các gói cần thiết. os, glob và earthpy [sử dụng bí danh

type[file_list]
0]

# Import necessary packages
import os
from glob import glob

import earthpy as et

Để sử dụng hàm

type[file_list]
1, bạn có thể cung cấp giá trị tham số cho
type[file_list]
2 mà bạn xác định bằng cách cung cấp chuỗi văn bản của URL [địa chỉ internet] cho tập dữ liệu

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr

'/root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr'

Theo mặc định,

type[file_list]
1 sẽ tải các tệp xuống
type[file_list]
4 trong thư mục chính của bạn và nó sẽ tạo các thư mục cần thiết nếu chúng chưa tồn tại

Với thông tin này, bạn có thể đặt thư mục làm việc thành thư mục

type[file_list]
5 của mình và sau đó tạo đường dẫn tương đối đến thư mục dữ liệu đã tải xuống

type[file_list]
1

Quả địa cầu trong Python

glob là một công cụ mạnh mẽ trong Python để trợ giúp quản lý và lọc tệp. Mặc dù hệ điều hành 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, nhưng toàn cầu giúp lọc qua các bộ dữ liệu lớn và chỉ lấy ra các tệp được quan tâm

Hàm

type[file_list]
6 sử dụng các quy tắc của Unix shell để giúp người dùng tổ chức các tệp của họ. Unix shell tuân theo các quy tắc khá đơn giản để tìm kiếm các mục mà bạn sẽ khám phá bên dưới

Tìm kiếm một thư mục hoặc tệp cụ thể

Hàm

type[file_list]
7 có thể được sử dụng để tìm chỉ một thư mục hoặc tệp. Điều này có thể được thực hiện bằng cách cung cấp cho
type[file_list]
7 đường dẫn của mục mà bạn đang cố gắng tìm

type[file_list]
5

['data/earthpy-downloads/avg-monthly-temp-fahr']

Điều này không hữu ích lắm vì bạn đã có đường dẫn dữ liệu nếu bạn đang sử dụng nó để tìm kiếm thứ gì đó

Tuy nhiên, lưu ý rằng

type[file_list]
7 trả về danh sách tất cả các mục phù hợp với tìm kiếm của bạn, không phải dưới dạng các chuỗi riêng lẻ

type[file_list]

type[file_list]
9

Bạn cũng có thể sử dụng hàm

type[file_list]
6 kết hợp với hàm
type[file_list]
91 để tạo danh sách các đường dẫn được tạo theo chương trình

# Import necessary packages
import os
from glob import glob

import earthpy as et
2

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
0

Nhà điều hành
type[file_list]
92

type[file_list]
7 sử dụng các toán tử khác nhau để mở rộng khả năng tìm kiếm của nó. Toán tử chính là
type[file_list]
92

type[file_list]
92 là một loại ký tự đại diện có thể được sử dụng để tìm kiếm các mục có sự khác biệt về tên của chúng. Bất kỳ văn bản nào không khớp có thể được thay thế bằng ________ 192

Ví dụ: nếu bạn muốn mọi tệp trong thư mục được trả lại cho mình, bạn có thể đặt ____192 ở cuối đường dẫn thư mục

type[file_list]
7 sẽ trả về danh sách tất cả các tệp trong thư mục đó

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
1

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
2

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
3

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
4

Nếu bạn chỉ muốn các tệp

type[file_list]
99, thì
# Import necessary packages
import os
from glob import glob

import earthpy as et
20 sẽ trả về mọi tệp kết thúc bằng
type[file_list]
99

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
5

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
4

Nếu bạn chỉ muốn các tệp

type[file_list]
99 có số
# Import necessary packages
import os
from glob import glob

import earthpy as et
23 ở đâu đó trong tên tệp, thì
# Import necessary packages
import os
from glob import glob

import earthpy as et
24 sẽ trả về danh sách đó

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
7

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
8

Lưu ý rằng

# Import necessary packages
import os
from glob import glob

import earthpy as et
25 sẽ chỉ trả lại các tệp bắt đầu bằng số
# Import necessary packages
import os
from glob import glob

import earthpy as et
23

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
9

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr
0

Dấu hoa thị bổ sung ở phía trước của

# Import necessary packages
import os
from glob import glob

import earthpy as et
23 [e. g.
# Import necessary packages
import os
from glob import glob

import earthpy as et
24] cho phép
# Import necessary packages
import os
from glob import glob

import earthpy as et
23 ở bất kỳ đâu trong đường dẫn

type[file_list]
92 được dùng để thay thế tất cả văn bản không quan trọng đối với tìm kiếm của bạn

Tìm kiếm đệ quy

Nếu bạn đang cố thao tác trên các tệp trên nhiều thư mục, bạn có thể sử dụng nhiều

type[file_list]
92 trong một đường dẫn tệp để cho biết rằng bạn muốn mọi tệp trong tất cả các thư mục trong một thư mục

type[file_list]
92 đầu tiên là truy cập tất cả các thư mục trong thư mục bắt đầu [e. g.
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
03]

Tiếp theo là toán tử

type[file_list]
92 thứ hai, lặp qua tất cả các thư mục con để tạo danh sách tất cả nội dung của chúng

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr
1

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr
2

Sắp xếp danh sách
type[file_list]
7

Lưu ý rằng các danh sách được cung cấp bởi

type[file_list]
7 không được sắp xếp

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr
3

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr
4

Nếu điều quan trọng đối với một danh sách là theo một thứ tự nhất định, thì hãy luôn đảm bảo sắp xếp danh sách được trả về bởi

type[file_list]
7 bằng cách sử dụng phương pháp
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
08 cho danh sách

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr
5

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr
6

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr
7

Lưu ý rằng việc sắp xếp đôi khi có thể hoạt động khác với bạn nghĩ, vì vậy hãy kiểm tra danh sách đã sắp xếp của bạn trước khi tiếp tục với dự án của mình

Ví dụ: nếu hai mục có tên đường dẫn giống hệt nhau, nhưng một mục kết thúc bằng

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
09 và mục kia kết thúc bằng
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
10, đôi khi tệp kết thúc bằng
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
09 sẽ được đặt phía trên tệp kết thúc bằng
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
10. Luôn luôn kiểm tra lại

Tại sao Sắp xếp Danh sách
type[file_list]
7?

Thứ tự mà

type[file_list]
7 trả về các tệp từ một thư mục có thể thay đổi đáng kể. Tùy thuộc vào hệ điều hành đang được sử dụng hoặc cách lưu trữ tệp, những người khác nhau có thể nhận được kết quả từ danh sách
type[file_list]
7 theo các thứ tự khác nhau

Điều này có thể dẫn đến lỗi dữ liệu khi chạy các dự án trên máy tính

Ví dụ: xem xét cách sắp xếp danh sách

type[file_list]
7 thay đổi những tệp bạn truy cập khi lấy chỉ mục từ danh sách, chẳng hạn như chỉ mục
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
17 để truy cập mục thứ 5 trong danh sách

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr
8

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr
9

'/root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr'
0

'/root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr'
1

Sử dụng phạm vi

Ngoài việc sử dụng

type[file_list]
92 để chỉ định phần nào của tên tệp là quan trọng đối với bạn, bạn có thể sử dụng
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
19 để chỉ định phạm vi ký tự cần tìm kiếm

Ví dụ: bạn có thể tạo tìm kiếm cho tất cả các tệp có tên từ 2001 đến 2003 bằng cách sử dụng

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
20 và thêm
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
21 vào đó

'/root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr'
2

'/root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr'
3

Điều này không chỉ giới hạn ở những con số.

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
22 cũng sẽ lọc kết quả cho các ký tự giữa các chữ cái
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
23 và
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
24

Tuy nhiên, lưu ý rằng phạm vi tìm kiếm này chỉ dành cho ký tự, không phải chuỗi

Ví dụ: bạn có thể tìm kiếm các số 2-7 bằng

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
25 nhưng bạn sẽ không thể tìm kiếm các số
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
26 vì
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
27 có nhiều hơn một ký tự

Lưu ý bên dưới rằng tìm kiếm không hoạt động chính xác vì

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
28 có nhiều hơn một ký tự

'/root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr'
4

Downloading from //ndownloader.figshare.com/files/21894528
Extracted output to /root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr
2

Nhà điều hành
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
29

Toán tử

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
29 có chức năng tương tự như toán tử
type[file_list]
92 nhưng được sử dụng cho một ký tự

Nếu một ký tự trong tên tệp có thể thay đổi, nhưng mọi thứ khác phải giữ nguyên, thì

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
29 là một cách hay để thay thế một ký tự đó

'/root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr'
6

'/root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr'
7

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
29 không giới hạn một lần sử dụng cho mỗi lần tìm kiếm và có thể được sử dụng để thay thế nhiều ký tự trong một truy vấn

'/root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr'
8

'/root/earth-analytics/data/earthpy-downloads/avg-monthly-temp-fahr'
9

Lưu đầu ra
type[file_list]
7 vào một biến

Để sử dụng đầu ra của

type[file_list]
7 sau này trong tập lệnh, hãy nhớ lưu nó vào một biến. Nó có thể được thực hiện dễ dàng bằng cách chỉ định đầu ra của hàm
type[file_list]
7 một tên biến

type[file_list]
10

type[file_list]
11

['data/earthpy-downloads/avg-monthly-temp-fahr']
8 Chức năng nâng cao

['data/earthpy-downloads/avg-monthly-temp-fahr']
8 là một công cụ rất mạnh khác và có chức năng bổ sung có thể hữu ích khi xử lý đường dẫn tệp, chẳng hạn như khả năng phân tích cú pháp nâng cao

Ví dụ:

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
39 là một cách tuyệt vời để dọn sạch đường dẫn tệp. Nó loại bỏ mọi ký tự không cần thiết để làm cho đường dẫn dễ đọc hơn

Đó là một cách hay để đảm bảo đường dẫn của bạn được định dạng đúng trước khi sử dụng các hàm

['data/earthpy-downloads/avg-monthly-temp-fahr']
8 khác trên đường dẫn

type[file_list]
12

type[file_list]
13

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
41 rất hữu ích khi kết hợp với
type[file_list]
7. Hàm này sẽ lấy một danh sách các đường dẫn tệp và tìm thư mục thấp nhất mà tất cả các tệp có điểm chung

Vì vậy, nếu có hai tệp, một được lưu trữ trong

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
43 và một được lưu trữ trong
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
44, thì
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
41 sẽ trả về
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
46 vì đây là thư mục chung thấp nhất mà hai thư mục chia sẻ

type[file_list]
14

type[file_list]
11

type[file_list]
16

type[file_list]
17

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
47 tìm phần cuối cùng của đường dẫn và trả về phần đó. Nếu một đường dẫn tệp được truyền vào, tên tệp sẽ được phân tích cú pháp và trả về

type[file_list]
18

type[file_list]
19

type[file_list]
50

type[file_list]
51

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
48 sẽ chia đường dẫn thành hai phần

  1. phần cuối của con đường
  2. phần còn lại của con đường

Nó trả về cùng một đầu ra như

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
47 với việc bổ sung phần còn lại của đường dẫn đã bị loại bỏ dưới dạng khác

type[file_list]
52

type[file_list]
53

Sau đó, bạn có thể sử dụng lập chỉ mục trên kết quả để lấy từng phần của đường dẫn phân tách

type[file_list]
54

type[file_list]
55

type[file_list]
56

type[file_list]
51

Thao tác chuỗi

Nhớ lại rằng khi bạn tạo một đường dẫn tệp bằng cách sử dụng

type[file_list]
91, nó sẽ định dạng đúng một chuỗi đường dẫn tệp, vì vậy nó có thể được sử dụng trên mọi hệ điều hành

Tuy nhiên, lưu ý rằng đường dẫn tệp vẫn chỉ là một chuỗi. Do đó, bạn có thể phân tích cú pháp các đường dẫn tệp, giống như bạn làm với các chuỗi và trích xuất thông tin từ chúng mà bạn có thể cần cho một dự án

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
51 là một hàm Python tích hợp, tách một chuỗi thành một danh sách các chuỗi dựa trên ký tự phân cách và có thể được sử dụng kết hợp với
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
52 để phân tách các thư mục trong đường dẫn tệp thành các phần cơ sở của chúng.
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
52 là một giá trị dữ liệu được lưu trữ trong
['data/earthpy-downloads/avg-monthly-temp-fahr']
8 sẽ trả về ký tự được sử dụng để phân tách các thành phần tên đường dẫn, chẳng hạn như tên thư mục hoặc tên tệp. Đây là
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
55 dành cho Windows và
# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
56 dành cho hệ thống POSIX, chẳng hạn như Mac hoặc Linux

type[file_list]
58

type[file_list]
59

['data/earthpy-downloads/avg-monthly-temp-fahr']
0

type[file_list]
51

Ngoài các chức năng tích hợp sẵn, đường dẫn tệp có thể được phân tích cú pháp bằng

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
57 giống như một chuỗi bình thường. Điều này có thể giúp lấy thông tin quan trọng từ đường dẫn tệp, chẳng hạn như ngày tháng

type[file_list]
14

type[file_list]
11

['data/earthpy-downloads/avg-monthly-temp-fahr']
4

['data/earthpy-downloads/avg-monthly-temp-fahr']
5

['data/earthpy-downloads/avg-monthly-temp-fahr']
6

['data/earthpy-downloads/avg-monthly-temp-fahr']
7

Lưu ý rằng phạm vi bao gồm giá trị chỉ mục đầu tiên nhưng không bao gồm giá trị chỉ mục thứ hai [e. g.

# Download data on average monthly temp for two California sites
file_url = "//ndownloader.figshare.com/files/21894528"
et.data.get_data[url = file_url]
58 là các giá trị chỉ mục từ 10 đến 13]

Hãy suy nghĩ về cách bạn có thể sử dụng cùng một cú pháp phân tích chuỗi để lấy tên trang web

Bây giờ bạn đã học được những điều cơ bản về glob và os để tạo danh sách tệp và thư mục tùy chỉnh để thao tác và phân tích tên tệp và thư mục, điều này có thể hữu ích cho các dự án trong tương lai

Toàn cầu có hoạt động trên windows Python không?

Điều duy nhất bạn cần để cài đặt mô-đun toàn cầu trên Windows là. Trăn . PIP hoặc Conda [tùy theo sở thích của người dùng]

Làm cách nào để cài đặt Python toàn cầu?

Hãy làm theo các bước bên dưới để cài đặt gói toàn cầu trên macOS bằng cách sử dụng pip. .
Bước 1. Cài đặt Python3 mới nhất trong MacOS
Bước 2. Kiểm tra xem pip3 và python3 đã được cài đặt đúng chưa
Bước 3. Nâng cấp pip của bạn để tránh lỗi trong quá trình cài đặt
Bước 4. Nhập lệnh sau để cài đặt global2 bằng pip3

Toàn cầu có được bao gồm trong Python không?

Mô-đun toàn cầu là một phần hữu ích của thư viện chuẩn Python . toàn cầu [viết tắt của toàn cầu] được sử dụng để trả về tất cả các đường dẫn tệp khớp với một mẫu cụ thể.

Làm cách nào để sử dụng mô-đun toàn cầu trong Python?

Sau đây là cú pháp sử dụng hàm glob[] của mô-đun glob bên trong chương trình Python. toàn cầu[tên đường dẫn, *, đệ quy = True] .
# Nhập mô-đun toàn cầu trong chương trình
nhập toàn cầu dưới dạng gb
# Khởi tạo một biến
inVar = gb. .
# Trả về loại biến của lớp
in [loại [inVar]]

Chủ Đề