두 개의 스크립트가 있습니다. 그 main()
for 루프에 인수를 전달하여 첫 번째, Script1.py, 수입 Script2.py 및 사용외부 스크립트에서 명령 줄 인수 열거
vol.py: error: unrecognized arguments: --profile=WinXPSP3x86 -f B:/vmem/zeus.vmem connscan
: Script1.py이 실행 된 경우
for ipNum in ipList:
print("Checking databases for: " + ipNum)
Script2.main("--ip " + ipNum)
그러나, 나는 erorr를 얻을 수 주요
는() Script2.py에서 다음과 같습니다
def main(args):
parser = argparse.ArgumentParser(description='Is This IP Bad?')
parser.add_argument('-i', '--ip', help='IP address to check')
parser.add_argument('--success', help='Also display GOOD', required=False, action="store_true")
args = parser.parse_args()
if args is not None and args.ip is not None and len(args.ip) > 0:
badip = args.ip
else:
my_ip = urlopen('http://icanhazip.com').read().rstrip()
인식 할 수없는 인수입니다 물론, script1이를 launchung 때 입력 된 명령 행 인수. script2 main()을 여러 번 실행하기 위해 단일 인수 목록을 적절하게 열거하는 방법은 무엇입니까?
내가 (주 밖으로 argparse 물건을 이동 것)과는 최상위 레벨 스크립트로 뭔가 : –
당신은 단지에 전달할 수 있다면 하나의 스크립트 내에서 명령 줄 인수를 통해 데이터를 전달하는 아무 이유도 없다 함수. 'script1.py'가'from script2 import do_stuff'와'do_stuff ('1.2.3.4', True)'와 같은 것을 할 수 있도록 코드를 재구성하십시오. – Blender
인수 목록은 문자열이 아닌 배열이어야합니다 (실제와 마찬가지입니다 : OS는 프로그램에 * list *를 건네줍니다; 쉘에서 문자열로 입력 된 명령에서 해당 목록을 생성하는 것은 쉘 자체에서 수행됩니다). –