Tôi có tệp python được gọi là convertImage.py và bên trong tệp. Tôi có một tập lệnh chuyển đổi hình ảnh theo ý thích của tôi, toàn bộ tập lệnh chuyển đổi được đặt bên trong một hàm gọi là convertFile (fileName)thực thi kịch bản python với chức năng từ dòng lệnh, Linux
Bây giờ vấn đề của tôi là tôi cần thực thi kịch bản lệnh python này từ dòng lệnh linux trong khi chuyển hàm convertFile (fileName) cùng với nó.
dụ:
linux user$: python convertImage.py convertFile(fileName)
này nên thực thi kịch bản python đi qua các chức năng phù hợp.
dụ:
def convertFile(fileName):
import os, sys
import Image
import string
splitName = string.split(fileName, "_")
endName = splitName[2]
splitTwo = string.split(endName, ".")
userFolder = splitTwo[0]
imageFile = "/var/www/uploads/tmp/"+fileName
...rest of the script...
return
đúng cách để thực thi kịch bản python này và đúng cách vượt qua các tên tập tin để các chức năng từ dòng lệnh liunx là gì?
Thank ở cao cấp
không có điều gì như vậy. Phân tích cú pháp danh sách 'sys.argv' và chọn hành động đúng. Kiểm tra 'argparse' mô-đun – JBernardo
Như đã đề cập bởi S.Lott, '<đối số lệnh>' là một kiểu rất phổ biến. Tốt nhất là người dùng phải có tên lệnh, không phải là kiến thức về triển khai nội bộ. Và bằng cách sử dụng dấu ngoặc đơn (yêu cầu thoát trong bash) như một phần bắt buộc của cú pháp của bạn chỉ là có ý nghĩa. –
Cascabel
Các dấu ngoặc đơn chỉ là những lý do ví dụ nhưng tôi đánh giá cao tất cả sự trợ giúp và làm cho nó hoạt động bằng cách sử dụng sys.argv – knittledan