मैं विभिन्न चर के साथ पायथन लिपि निष्पादित करना चाहता हूं। मुझे फ़ोल्डर से छवियों की फाइलों को बैच करना है, लेकिन मैं सिर्फ विभिन्न चर के साथ स्क्रिप्ट से निष्पादित करना चाहता हूं। पसंद

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18. 19, 20]

!python autozoom.py --in ./images/1.jpg --out ./videos/1.mp4
!python autozoom.py --in ./images/2.jpg --out ./videos/2.mp4
!python autozoom.py --in ./images/3.jpg --out ./videos/3.mp4
!python autozoom.py --in ./images/4.jpg --out ./videos/4.mp4

आदि 20 . तक

मुझे खेद है, मैं अजगर भाषा के बारे में पूर्ण शुरुआत कर रहा हूँ .. कोई जवाब या सलाह मैं बहुत सराहना करूंगा! :) शुक्रिया

-1
Faiz 1 अप्रैल 2020, 04:28

1 उत्तर

सबसे बढ़िया उत्तर

आइए इस बारे में बात करते हैं कि कैसे autozoom.py इस तरह के उपयोग के मामले का समर्थन करने के लिए सबसे अच्छा लिखा जाएगा, बिना एक नया पायथन दुभाषिया 20 अलग-अलग शुरू करने की आवश्यकता है। एक आदर्श दुनिया में, यह कुछ इस तरह दिख सकता है:

import argparse

def convert(infile, outfile):
    pass # do the magic here

def main():
    ap = argparse.ArgumentParser
    ap.add_argument('--in', dest='infile', type=argparse.FileType('rb'))
    ap.add_argument('--out', dest='outfile', type=argparse.FileType('wb'))
    args = ap.parse_args()
    convert(args.infile, args.outfile)

if __name__ == '__main__':
  main()

...जहां कमांड-लाइन पार्सिंग कोड एक फ़ंक्शन को कॉल करता है जो असली काम करता है, लेकिन उस फ़ंक्शन को सीधे भी कॉल किया जा सकता है।

यदि ऐसा है, तो convert फ़ंक्शन का उपयोग करने के लिए आपका कोड ऐसा दिखाई दे सकता है:

import autozoom

for i in range(1, 21):
    with open(f'images/{i}.jpg', 'rb') as input_file, \
         open(f'videos/{i}.mp4', 'wb') as output_file:
        autozoom.convert(input_file, output_file)
1
Charles Duffy 1 अप्रैल 2020, 02:16