Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Python Membuka Dokumen dengan Aplikasi Lalainya pada Windows dan macOS?

Bagaimanakah Python Membuka Dokumen dengan Aplikasi Lalainya pada Windows dan macOS?

Barbara Streisand
Barbara Streisandasal
2024-11-24 11:53:10722semak imbas

How Can Python Open Documents with Their Default Applications on Windows and macOS?

Membuka Dokumen dengan Aplikasi Lalai dalam Python Merentasi Windows dan Mac OS

Dalam pelbagai sistem pengendalian, klik dua kali pada ikon dokumen menggesanya untuk dibuka menggunakan aplikasi yang ditetapkan. Mencapai fungsi ini dalam Python melibatkan penggunaan perintah sistem yang sesuai.

Dalam Python 2.4 dan versi yang lebih baru, modul subproses menyediakan keupayaan untuk membuka dokumen dengan aplikasi lalai. Daripada bergantung pada os.system(), modul ini menawarkan penyelesaian yang lebih cekap yang menghapuskan keperluan untuk melarikan diri shell yang kompleks.

Kod:

import subprocess, os, platform

filepath = 'path/to/document.ext'

if platform.system() == 'Darwin':       # macOS
    subprocess.call(('open', filepath))
elif platform.system() == 'Windows':    # Windows
    os.startfile(filepath)
else:                                   # linux variants
    subprocess.call(('xdg-open', filepath))

Penjelasan:

  • Fungsi platform.system() membezakan kod sistem pengendalian sedang dijalankan.
  • Untuk macOS, arahan 'buka' digunakan untuk membuka dokumen.
  • Dalam Windows, os.startfile() menyelesaikan tugas.
  • Hidup Sistem Linux, xdg-open digunakan sebagai standard Yayasan Desktop Percuma.

Tambahan Nota:

  • Gnome-open boleh digunakan pada sistem Linux dengan Gnome, tetapi xdg-open disyorkan untuk keserasian merentas persekitaran.
  • Kurungan berganda di sekeliling arahan dalam fungsi subprocess.call() diperlukan untuk menyediakan urutan sebagai inputnya, yang merupakan tuple dalam ini kes.

Atas ialah kandungan terperinci Bagaimanakah Python Membuka Dokumen dengan Aplikasi Lalainya pada Windows dan macOS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn