cara menangkap folder sebagai input dan meneruskannya ke skrip python sebagai argumen

1

Bagaimana cara menangkap folder sebagai input dan meneruskannya ke skrip python sebagai argumen?

Ini adalah apa yang saya miliki sejauh ini, tetapi ini selalu mengambil direktori home pengguna sebagai input tidak peduli folder mana yang saya klik kanan> Layanan> testing_service (yang Anda lihat di bawah)

Automator: untuk menjalankan skrip python pada folder klik kanan

Ciasto piekarz
sumber

Jawaban:

1

Anda harus mengatakan di mana harus meletakkan argumen.

for f in "$@"
do
    "/usr/local/bin/python" -i -o "~/Development/python/slideShow/scripts/slideshow" "$f"
done

... atau, jika Anda hanya pernah akan memilih salah satu folder, Anda dapat menyederhanakan sedikit:

"/usr/local/bin/python" -i -o "~/Development/python/slideShow/scripts/slideshow" "$@"
GRG
sumber
mari kita lihat apakah karya ini
Ciasto piekarz
itu tidak berhasil !! bagaimana jika saya memilih Run as a Shell: / usr / bin / python lalu bagaimana cara menangkap folder sebagai input untuk python. mungkinkah beberapa layanan tidak berjalan di mac saya?
Ciasto piekarz
@san Saya menduga di mana argumen Anda berlaku untuk skrip Python Anda untuk membacanya - kode saya hanyalah sebuah contoh. Intinya adalah argumen (yaitu jalur folder POSIX) disediakan untuk $@. Anda harus membuat skrip Python Anda memahami argumen itu sendiri. Untuk / usr / bin / python, lihat jawaban saya untuk pertanyaan terakhir Anda: argumen diteruskan ke sys.argv[1:].
grg
ya saya sudah melakukan itu: /
Ciasto piekarz
Akhirnya Got it berfungsi !!!, tetapi masih menu di Layanan> terletak di sini akan menyenangkan itu bisa menu di nomor kedua dalam daftar item klik kanan
Ciasto piekarz