argparse를 사용한 후에 bash 작업으로 파이썬 스크립트를 실행할 수 있는지 궁금합니다. 내가 먼저 argparse를 사용하여 파이썬 스크립트 파일에 인수를 전달하여이 일을 시도하고 내가 명령 사용 :argparse를 사용하여 인수를 전달한 후 어떻게 파이썬 스크립트를 배치 작업으로 실행할 수 있습니까?
bash bash1.sh
는 파이썬 스크립트 파일을 실행 bash는 파일을 실행합니다. 이는이 오류는 argparse 인수가 인정되지 않은 사실의 결과 오류
message_script.py: error: too few arguments
결과. argparse를 사용하여 인수를 전달하고 일괄 처리 작업으로 파이썬 스크립트를 실행할 수있는 방법이 있습니까? message_script.py의
내용 : bash1.sh의
import sys
import random
import numpy as np
import argparse
from PIL import Image
import matplotlib.pyplot as plt
#Input of Data File
#Proprtion Alpha
parser = argparse.ArgumentParser()
parser.add_argument("Alpha", help = "proportion of pixels to be embedded in cover image")
args = parser.parse_args()
alpha = args.Alpha
alpha = float(alpha) #args.alpha came back as a string hence needed to be converted to float
#n is the number of pixels in cover image
n = 512*512 #since all images in BossBase testbench are 512 by 512
#Length of message to be embedded in cover image
length_msg = (alpha * n)
len_msg = int(length_msg)
#Generates a random message, a 1D vector consisting of 1s and 0s
msg = np.random.randint(2, size= len_msg)
#Save message in text format representing each bit as 0 or 1 on a separate line
msg_text_file = open("/home/ns3/PycharmProjects/untitled1/msg_file.txt", "w") #Path of Data File
msg_text_file.write("\n".join(map(lambda x: str(x), msg)))
msg_text_file .close()
콘텐츠 :
#!/bin/sh
python message_script.py
하면 자세한 내용을 공유시겠습니까 당신이 당신의 인수의 정확한 숫자를 알고 있다면 당신은 같은 떨어지게을 쓸 수 있습니까? 당신은 무엇을 기꺼이 성취합니까? bash1.sh 및 message_script.py의 내용을 공유 할 수 있습니까? – MosheZada
이미 알려진 것으로 판단하면 bash 스크립트는 인수를 넘겨주지 않습니다. bash 스크립트를 게시 할 수 있습니까? –
@MosheZada 방금 message_script.py 및 bash 파일 bash1.sh의 내용을 첨부했습니다. 파이썬 스크립트로 텍스트 파일을 만들었고 bash 파일은 파이썬 스크립트를 실행하여 텍스트 파일을 만듭니다. –