Làm cách nào để python mở tệp?

Một lợi ích bổ sung của việc sử dụng subprocessing thay vì os.system là nó sử dụng cùng một cú pháp đa nền tảng [os.system trên Windows yêu cầu "bắt đầu" ngay từ đầu, trong khi OS X yêu cầu "mở". Không phải là một vấn đề lớn, nhưng một điều ít cần nhớ hơn]

Mở một tệp bằng subprocess.call

Tất cả những gì bạn cần làm để khởi chạy một chương trình là gọi subprocess.call[] và chuyển vào một list các đối số trong đó đối số đầu tiên là đường dẫn đến chương trình và phần còn lại là các đối số bổ sung mà bạn muốn cung cấp cho chương trình mà bạn đang khởi chạy

Chẳng hạn, để khởi chạy Notepad. người cũ

import subprocess    

path_to_notepad = 'C:\\Windows\\System32\\notepad.exe'
path_to_file = 'C:\\Users\\Desktop\\hello.txt'

subprocess.call[[path_to_notepad, path_to_file]]

Truyền nhiều đối số và đường dẫn cũng đơn giản như nhau. Chỉ cần thêm các mục bổ sung vào danh sách

Khởi chạy với nhiều đối số

Ví dụ: điều này sẽ khởi chạy tệp JAR bằng cách sử dụng một bản sao cụ thể của môi trường thời gian chạy Java

import subprocess
import os

current_path = os.getcwd[]
subprocess.call[[current_path + '/contents/home/bin/java', # Param 1
                    '-jar', #Param2
                    current_path + '/Whoo.jar']] #param3

Đối số 1 nhắm mục tiêu chương trình tôi muốn khởi chạy. Argument2 cung cấp một đối số cho chương trình đó nói rằng nó sẽ chạy JAR và cuối cùng Argument3 cho chương trình đích biết nơi tìm tệp để mở

Khi tôi bắt đầu học Python, một trong những điều đầu tiên tôi cần biết là mở một tệp. Bây giờ, thuật ngữ “mở tệp” có thể có nghĩa khác nhau tùy thuộc vào ngữ cảnh. Đôi khi, điều đó có nghĩa là thực sự mở tệp bằng Python và đọc từ tệp đó, như với tệp văn bản. Những lần khác, nó có nghĩa là “mở tệp trong chương trình mặc định của nó”; . Vì vậy, khi bạn tìm cách thực hiện hai điều sau, bạn cần biết cách hỏi Google đúng câu hỏi hoặc tất cả những gì bạn sẽ nhận được là học cách mở và đọc một tệp văn bản

Trong bài viết này, chúng tôi sẽ đề cập đến cả ba và chúng tôi cũng sẽ chỉ ra cách mở [hoặc chạy] các chương trình đã được cài đặt trên PC của bạn. Tại sao?

Cách mở tệp văn bản

Hãy bắt đầu bằng cách học cách mở tệp bằng Python. Trong trường hợp này, ý của chúng tôi là thực sự sử dụng Python để mở nó chứ không phải một số chương trình khác. Vì thế, chúng tôi có hai lựa chọn [trong Python 2. x]. mở hoặc tập tin. Hãy xem và xem nó được thực hiện như thế nào

# the open keyword opens a file in read-only mode by default
f = open["path/to/file.txt"]

# read all the lines in the file and return them in a list
lines = f.readlines[]

f.close[]

Như bạn có thể thấy, việc mở và đọc một tệp văn bản thực sự khá dễ dàng. Bạn có thể thay thế từ khóa “open” bằng từ khóa “file” và nó sẽ hoạt động như cũ. Nếu bạn muốn rõ ràng hơn, bạn có thể viết lệnh open như thế này

f = open["path/to/file.txt", mode="r"]

Chữ “r” có nghĩa là chỉ đọc tệp. Bạn cũng có thể mở tệp bằng “rb” [đọc nhị phân], “w” [ghi], “a” [chắp thêm] hoặc “wb” [ghi nhị phân]. Lưu ý rằng nếu bạn sử dụng “w” hoặc “wb”, Python sẽ ghi đè lên tệp nếu tệp đã tồn tại hoặc tạo tệp nếu tệp không tồn tại

Nếu bạn muốn đọc tệp, bạn có thể sử dụng các phương pháp sau

  • read – đọc toàn bộ tệp và trả về toàn bộ nội dung trong một chuỗi
  • readline – đọc dòng đầu tiên của tệp và trả về dưới dạng chuỗi
  • readlines – đọc toàn bộ tệp và trả về dưới dạng danh sách các chuỗi

Bạn cũng có thể đọc một tệp có vòng lặp, như thế này

f = open["path/to/file.txt"]
for line in f:
    print line
f.close[]

Khá tuyệt phải không? . Bây giờ là lúc xem cách mở tệp bằng chương trình khác

Mở một tệp bằng chương trình riêng của nó

Python có một phương pháp đơn giản để mở tệp bằng chương trình mặc định của nó. Nó đi một cái gì đó như thế này

import os
os.startfile[path]

Vâng, thật dễ dàng, nếu bạn đang sử dụng Windows. Nếu bạn đang dùng Unix hoặc Mac, bạn sẽ cần mô-đun quy trình con hoặc “os. hệ thống". Tất nhiên, nếu bạn là một người đam mê thực sự, thì bạn có thể có nhiều chương trình mà bạn có thể muốn sử dụng để mở một tệp cụ thể. Ví dụ: tôi có thể muốn chỉnh sửa tệp JPEG của mình bằng Picasa, Paint Shop Pro, Lightroom, Paint. NET hoặc rất nhiều chương trình khác, nhưng tôi không muốn thay đổi chương trình chỉnh sửa JPEG mặc định của mình. Làm thế nào để chúng tôi giải quyết vấn đề này với Python? . Ghi chú. Nếu bạn muốn đi học cũ, bạn cũng có thể sử dụng os. popen* hoặc os. hệ thống, nhưng quy trình con được cho là sẽ thay thế chúng

quy trình con nhập khẩu

import subprocess

pdf = "path/to/pdf"
acrobat_path = r'C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe'
subprocess.Popen[f"{acrobat_path} {pdf}"]

Bạn cũng có thể viết dòng cuối cùng như thế này. quy trình con. Mở[[Đường dẫn acrobat, pdf]]. Chỉ cần nói rằng, sử dụng mô-đun quy trình con cũng rất dễ dàng. Có nhiều cách khác để sử dụng mô-đun quy trình con, nhưng đây là một trong những nhiệm vụ chính của nó. Tôi thường sử dụng nó để mở một tệp cụ thể [như trên] hoặc để mở một chương trình cho tôi với các đối số cụ thể được áp dụng. Tôi cũng sử dụng phương thức "gọi" của quy trình con, phương thức này khiến tập lệnh Python đợi ứng dụng "được gọi" hoàn tất trước khi tiếp tục. Bạn cũng có thể giao tiếp với các quy trình mà quy trình con khởi chạy, nếu bạn biết cách

kết thúc

Như thường lệ, Python có những cách dễ dàng để hoàn thành các nhiệm vụ được giao cho nó. Tôi đã tìm thấy rất ít điều mà Python không thể xử lý một cách hùng hồn và dễ hiểu. Tôi hy vọng bạn thấy điều này hữu ích khi bạn mới bắt đầu và cần biết cách mở tệp hoặc chương trình

Chủ Đề