পাইথন স্ক্রিপ্টে যুক্তিগুলি দেওয়া কি সম্ভব?


17

আমি জানি কীভাবে শেল স্ক্রিপ্টে আর্গুমেন্টগুলি পাস করতে হয়। এই যুক্তিগুলি এডাব্লুএস ডেটাপাইপলাইনে ঘোষণা করা হয়েছে এবং এর মধ্য দিয়ে গেছে। শেল স্ক্রিপ্টটি দেখতে এটির মতো হবে:

firstarg=$1
secondarg=$2

পাইথনে আমি কীভাবে এটি করব? এটা কি ঠিক একই?


আপনি জিজ্ঞাসা করার আগে কি অনুসন্ধান করার চেষ্টা করেছেন? পাইথন স্ক্রিপ্টে যুক্তিগুলি পাস করার জন্য গুগল অনুসন্ধান করা আপনার প্রয়োজনীয় সমস্ত তথ্য নিয়ে আসে। চতুর্থ লিঙ্ক হিসাবে আমি পাইকনে কমান্ড লাইন আর্গুমেন্টস স্ট্যাকওভারফ্লো থেকে প্রশ্ন পেয়েছি ।
পাইটর ডব্রোগোস্ট

3
পাইথন স্ক্রিপ্টে যুক্তিগুলি পাস করার জন্য গুগল অনুসন্ধান করা এই পোস্টটি নিয়ে আসে ।
ডেভিড আন্দ্রেয়া

উত্তর:


31

এটি আমার পক্ষে কাজ করেছে:

import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]

হ্যাঁ, এটি কাজ করে। কোনও কারণে, সূচক 0 থেকে শুরু হয় না তাই sys.argv[0]কোনও
কিছুর

14
argv[0]স্ক্রিপ্টের নাম হওয়া উচিত
পিটার গেরহাট

3

আপনি সিস্ট থেকে আরগভি ব্যবহার করতে পারেন

from sys import argv
arg1, arg2, arg3, ... = argv

আপনি আসলে কমান্ড লাইনে একটি অলস সংখ্যা যুক্তি রাখতে পারেন ments argv আর্গুমেন্ট সহ একটি তালিকা হবে। সুতরাং এটিকে আরগ 1 = sys.argv [0] আরগ 2 = sys.argv [1] হিসাবেও বলা যেতে পারে। । ।

মনে রাখবেন যে sys.argv [0] কেবল আপনার অজগর প্রোগ্রামের নাম। অতিরিক্তভাবে, যখন আপনি কমান্ড লাইন ইনপুট ব্যবহার করেন তখন "ইভাল" এবং "এক্সিকিউটিভ" ফাংশনগুলি দুর্দান্ত হয়। সাধারণত, কমান্ড লাইনের প্রতিটি জিনিসই একটি স্ট্রিং হিসাবে ব্যাখ্যা করা হয়। সুতরাং, আপনি যদি কমান্ড লাইনে একটি সূত্র দিতে চান তবে আপনি eval () ব্যবহার করেন।

>>> x = 1
>>> print eval('x+1')
2

0
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])

1
আপনার এটি নমুনা.পিতে প্রবেশ করা উচিত এবং পরামিতি সহ কল ​​করা উচিত।
অরুণসেকে

অরুণসেকে, আপনার মন্তব্য অন্তর্ভুক্ত করতে আপনি নিজের উত্তরটি সম্পাদনা করতে পারেন। :)
জেমস স্কেম্প
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.