-1
pythonスクリプトに渡されたパラメータをファイルにコピーしようとしています。ここにパラメータがあります。リストにパラメータをコピーする
["0013","1","1","\"[email protected]\"","1","P123-ND 10Q","10Q H??C"]
私は、バッファに問題があることを理解し、私は私のパラメータに不正なデータを取得しています。しかし、私は渡されているものを制御する必要はありません。私は5番目のパラメータから始めて、パラメータをファイルにコピーしようとしています。
f = open(in_file_name, 'w')
for x in range(5, len(arg_list)):
f.write(arg_list[x] + '\n')
f.close()
ファイルの結果は以下の通りです:ここでは
P123-ND 10Q
10Q H??C
は、それがどうあるべきかです:
P123-ND
10Q
どのように私は悪いデータを含めることはできませんか?有効な情報と悪い情報の間のスペースには何が起こっていますか?
要求されたとして、ここでは完全なプログラムがある:あなたの正確なケースでは
#!/bin/python
class Argument_Indices:
PRINTER_INDEX = 0
AREA_INDEX = 1
LABEL_INDEX = 2
EMAIL_INDEX = 3
RUN_TYPE_INDEX = 4
import argparse
import json
import os
from subprocess import call
import sys
from time import strftime
def _handle_args():
''' Setup and run argpars '''
parser = argparse.ArgumentParser(description='Set environment variables for and to call Program')
parser.add_argument('time_to_run', default='NOW', choices=['NOW', 'EOP'], help='when to run the report')
parser.add_argument('arguments', nargs='+', help='the remaining command line arguments')
return parser.parse_args()
def _proces_program(arg_list):
time_stamp = strftime("%d_%b_%Y_%H_%M_%S")
printer = arg_list[Argument_Indices.PRINTER_INDEX]
area = arg_list[Argument_Indices.AREA_INDEX]
label = arg_list[Argument_Indices.LABEL_INDEX]
in_file_name = "/tmp/program{0}.inp".format(time_stamp)
os.environ['INPUT_FILE'] = in_file_name
f = open(in_file_name, 'w')
for x in range(5, len(arg_list)):
f.write(arg_list[x])
f.close()
call(['./Program.bin', printer, area, label])
os.remove(in_file_name)
def main():
''' Main Function '''
arg_list = None
args = _handle_args()
if len(args.arguments) < 1:
print('Missing name of input file')
return -1
with open(args.arguments[0]) as input_file:
arg_list = json.load(input_file)
_process_program(arg_list)
return 0
if __name__ == '__main__':
if main() != 0:
print('Program run failed')
sys.exit()
あなたは5日からやりたいと思っていましたが、あなたは確認できますか? – idjaw
'(arg_list [x] .split())[0]'はどうですか? – Arman
私たちのコンピュータをチェックできるように、 "完全な"(面白い)実行可能コードをコピーしてください。 – tglaria