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

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" "$@"

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.