Hướng dẫn if exist python - nếu tồn tại python

Làm cách nào để kiểm tra xem một tệp có tồn tại hay không, sử dụng Python, mà không cần sử dụng câu lệnh thử?

Hiện có sẵn kể từ Python 3.4, nhập và khởi tạo đối tượng

>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False
9 với tên tệp và kiểm tra phương thức
>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
0 (lưu ý rằng điều này trả về đúng với các liên kết symlink chỉ vào các tệp thông thường):

Nội dung chính ShowShow

  • Làm cách nào để kiểm tra xem một tệp có tồn tại hay không, sử dụng Python, mà không cần sử dụng câu lệnh thử?
  • Dài hơn, câu trả lời giả tạo hơn nhiều
  • Điều kiện cuộc đua: Tại sao chúng tôi thích thử
  • Tránh các điều kiện chủng tộc mà không có tuyên bố thử: >>> root.is_file() False 8
  • Các tùy chọn khác không đáp ứng yêu cầu "mà không cần thử":
  • Phê bình về một câu trả lời khác:
  • Làm thế nào để bạn kiểm tra xem một tệp có tồn tại hay không?
  • Làm cách nào để tìm kiếm một tệp trong Python?
  • Làm cách nào để kiểm tra xem một tệp tồn tại mà không có ngoại lệ?
  • Làm thế nào để bạn kiểm tra xem một thư mục có chứa một tệp trong Python không?

>>> from pathlib import Path
>>> Path('/').is_file()
False
>>> Path('/initrd.img').is_file()
True
>>> Path('/doesnotexist').is_file()
False

Nếu bạn đang sử dụng Python 2, bạn có thể quay lại mô -đun Pathlib từ Pypi,

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
1 hoặc kiểm tra
>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
2 từ mô -đun
>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
3:
>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False

Bây giờ những điều trên có lẽ là câu trả lời trực tiếp thực dụng tốt nhất ở đây, nhưng có khả năng một điều kiện chủng tộc (tùy thuộc vào những gì bạn đang cố gắng thực hiện) và thực tế là việc triển khai cơ bản sử dụng

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
4, nhưng Python sử dụng
>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
4 ở mọi nơi trong thực hiện.

Bởi vì Python sử dụng

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
4 ở khắp mọi nơi, thực sự không có lý do gì để tránh việc thực hiện sử dụng nó.

Nhưng phần còn lại của câu trả lời này cố gắng xem xét những cảnh báo này.

Dài hơn, câu trả lời giả tạo hơn nhiều

Điều kiện cuộc đua: Tại sao chúng tôi thích thử

Tránh các điều kiện chủng tộc mà không có tuyên bố thử: >>> root.is_file() False 8

Các tùy chọn khác không đáp ứng yêu cầu "mà không cần thử":

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
0:
>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
5

Phê bình về một câu trả lời khác:

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
0:
>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
7

Làm thế nào để bạn kiểm tra xem một tệp có tồn tại hay không?

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
8

Làm cách nào để tìm kiếm một tệp trong Python?

Làm cách nào để kiểm tra xem một tệp tồn tại mà không có ngoại lệ?

Làm thế nào để bạn kiểm tra xem một thư mục có chứa một tệp trong Python không?

Nếu bạn đang sử dụng Python 2, bạn có thể quay lại mô -đun Pathlib từ Pypi,

Điều kiện cuộc đua: Tại sao chúng tôi thích thử

Tránh các điều kiện chủng tộc mà không có tuyên bố thử: >>> root.is_file() False 8

Các tùy chọn khác không đáp ứng yêu cầu "mà không cần thử":

Phê bình về một câu trả lời khác:race condition if you check it exists, because you are then racing to open it before its condition (its existence) changes.

Làm thế nào để bạn kiểm tra xem một tệp có tồn tại hay không?

Làm cách nào để tìm kiếm một tệp trong Python?

Làm cách nào để kiểm tra xem một tệp tồn tại mà không có ngoại lệ?

Tránh các điều kiện chủng tộc mà không có tuyên bố thử: >>> root.is_file() False 8

Các tùy chọn khác không đáp ứng yêu cầu "mà không cần thử":

Phê bình về một câu trả lời khác:

Usage:

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
2

Làm thế nào để bạn kiểm tra xem một tệp có tồn tại hay không?

Làm cách nào để tìm kiếm một tệp trong Python?this actually is the only answer that doesn't use
>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
4 at any level in the Python
that can be applied to prior to Python 3.4 because it uses a context manager instead:
>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False
0

Làm cách nào để kiểm tra xem một tệp tồn tại mà không có ngoại lệ?

>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False
1

Các tùy chọn khác không đáp ứng yêu cầu "mà không cần thử":

Phê bình về một câu trả lời khác:

>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False
2

Làm thế nào để bạn kiểm tra xem một tệp có tồn tại hay không?

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
76

Làm cách nào để tìm kiếm một tệp trong Python?

Làm cách nào để kiểm tra xem một tệp tồn tại mà không có ngoại lệ?

Làm thế nào để bạn kiểm tra xem một thư mục có chứa một tệp trong Python không?

>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False
3
>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False
4

Tất cả những gì nó đang làm là sử dụng đường dẫn đã cho để xem liệu nó có thể nhận được số liệu thống kê trên đó không, bắt

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
79 và sau đó kiểm tra xem đó có phải là tệp không nếu nó không tăng ngoại lệ.

Nếu bạn có ý định làm điều gì đó với tệp, tôi sẽ đề nghị trực tiếp thử nó với một thử nghiệm để tránh điều kiện cuộc đua:

>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False
5

os.access

Có sẵn cho Unix và Windows là

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
80, nhưng để sử dụng, bạn phải vượt qua cờ và nó không phân biệt giữa các tệp và thư mục. Điều này được sử dụng nhiều hơn để kiểm tra xem người dùng gọi thực sự có quyền truy cập trong môi trường đặc quyền nâng cao không:
>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False
6

Nó cũng bị các vấn đề tình trạng chủng tộc tương tự như

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
2. Từ các tài liệu:

Lưu ý: Sử dụng Access () để kiểm tra xem người dùng có được ủy quyền, ví dụ: Mở một tệp trước khi thực sự thực hiện bằng cách sử dụng Open () tạo lỗ bảo mật, bởi vì người dùng có thể khai thác khoảng thời gian ngắn giữa việc kiểm tra và mở tệp để thao tác nó. Nó thích hợp hơn để sử dụng các kỹ thuật EAFP. Ví dụ:

>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False
7

được viết tốt hơn như:

>>> import os
>>> os.path.isfile('/')
False
>>> os.path.isfile('/initrd.img')
True
>>> os.path.isfile('/doesnotexist')
False
8

Tránh sử dụng

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
80. Đây là một chức năng cấp thấp có nhiều cơ hội cho lỗi người dùng hơn các đối tượng và chức năng cấp cao hơn được thảo luận ở trên.

Phê bình về một câu trả lời khác:

Một câu trả lời khác nói điều này về

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
80:

Tôi thích cái này vì dưới mui xe, nó gọi API gốc (thông qua "$ {python_src_dir} /modules/posixmodule.c"), nhưng nó cũng mở một cổng cho các lỗi người dùng có thể và nó không phải là pythonic như các biến thể khác :

Câu trả lời này cho biết nó thích một phương pháp không giống, dễ bị lỗi, không có lý do. Nó dường như khuyến khích người dùng sử dụng API cấp thấp mà không hiểu chúng.

Nó cũng tạo ra một trình quản lý bối cảnh, bằng cách trả lại vô điều kiện

>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
84, cho phép tất cả các trường hợp ngoại lệ (bao gồm
>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
85 và
>>> from pathlib import Path
>>> root = Path('/')
>>> root.exists()
True
86!) Để vượt qua âm thầm, đó là một cách tốt để che giấu lỗi.

Điều này dường như khuyến khích người dùng áp dụng các hoạt động kém.

Làm thế nào để bạn kiểm tra xem một tệp có tồn tại hay không?

Kiểm tra xem tệp có tồn tại bằng HĐH không ....

đường dẫn. tồn tại (đường dẫn) - trả về true nếu đường dẫn là tệp, thư mục hoặc symlink hợp lệ ..

đường dẫn. ISFILE (PATH) - Trả về đúng nếu đường dẫn là tệp thông thường hoặc liên kết với tệp ..

đường dẫn. ISDIR (đường dẫn) - Trả về đúng nếu đường dẫn là thư mục hoặc liên kết với thư mục ..

Làm cách nào để tìm kiếm một tệp trong Python?

Python có thể tìm kiếm tên tệp trong một đường dẫn được chỉ định của HĐH.Điều này có thể được thực hiện bằng cách sử dụng HĐH mô -đun với các chức năng đi bộ ().Điều này sẽ lấy một đường dẫn cụ thể làm đầu vào và tạo ra 3-tuple liên quan đến dirpath, dirnames và tên tệp.using the module os with the walk() functions. This will take a specific path as input and generate a 3-tuple involving dirpath, dirnames, and filenames.using the module os with the walk() functions. This will take a specific path as input and generate a 3-tuple involving dirpath, dirnames, and filenames.

Làm cách nào để kiểm tra xem một tệp tồn tại mà không có ngoại lệ?

Để kiểm tra xem một đối tượng đường dẫn có tồn tại độc lập về việc đó là tệp hay thư mục hay không, hãy sử dụng my_path.exists ().my_path.use my_path.exists() . my_path.use my_path. exists() . my_path.

Làm thế nào để bạn kiểm tra xem một thư mục có chứa một tệp trong Python không?

Mô -đun HĐH trong Python cung cấp các chức năng để tương tác với hệ điều hành.Mô -đun này cung cấp một cách di động để sử dụng chức năng phụ thuộc hệ điều hành.Bây giờ bằng cách gọi phương thức listDir (), chúng ta có thể nhận được một danh sách tất cả các tệp có trong thư mục.by calling listdir() method, we can get a list of all files present in the directory.by calling listdir() method, we can get a list of all files present in the directory.