2011-07-21 27 views
5

Kịch bản lệnh Apple và Python của tôi nằm trong thư mục làm việc hiện tại. Bây giờ tôi cần gọi kịch bản Python có tên là test.py với đặc quyền quản trị từ bản ghi bằng cách sử dụng các lệnh shell.Gọi một tập lệnh Python từ một Bản tóm tắt số

mã trong AppleScript này cung cấp cho các pwd

tell application "Finder" to get folder of (path to me) as Unicode text 
set presentDir to POSIX path of result 

mã trong AppleScript Điều này đòi hỏi một kịch bản python từ một AppleScript tay

do shell script "/Users/mymac/Documents/'Microsoft User Data'/test.py" 

Làm thế nào để thêm presentDir lệnh này cùng với đặc quyền của quản trị viên?

EDIT và UPDATE:

set py to "test.py " 
set calldir to workingDir & py 
do shell script calldir 

Nó cung cấp cho một lỗi

error "sh: /Users/mymac/Documents/Microsoft: No such file or directory" number 127 

Nhưng hiển thị hộp thoại calldir lãm

/Users/mymac/Documents/Microsoft User Data/test.py 

Lý do:

nó bị phá vỡ sau khi từ 'Microsoft' trong lệnh shell script vì không gian.

Trả lời

7

Nếu bạn biết kịch bản là trong cùng thư mục, chỉ cần sử dụng:

do shell script presentDir & "test.py " user name "me" password "mypassword" with administrator privileges 

Thông báo không gian sau khi test.py trước khi close-quote. Bạn có thể cần chuỗi là /test.py, thay vì test.py, tôi không chắc chắn.

Tôi nhận thông tin này từ http://developer.apple.com/library/mac/#technotes/tn2065/_index.html.

Chỉnh sửa: Cố gắng

set py to "test.py " 
set calldir to quoted form of workingDir & py 
do shell script calldir 
+0

vì test.py nằm trong cùng thư mục của presentDir, Làm cách nào tôi có thể bỏ qua việc sử dụng"/users/mymac/Documents/'Microsoft User Data'/test.py "trong shell lệnh script. – thinkcool

+0

Tôi không chắc chắn tôi hiểu câu hỏi của bạn, nhưng tôi đã chỉnh sửa với dự đoán tốt nhất của tôi cho những gì bạn có ý nghĩa? – agf

+0

Tôi đã cập nhật câu hỏi .. – thinkcool

0

kịch bản ban đầu của bạn không làm việc vì bạn đã không thoát khỏi không gian với một dấu chéo ngược "\" như vậy: "/ Users/mymac/Documents/Microsoft \ User \ Data/test.py "

Các vấn đề liên quan