#main loop
while 1==1:
#If they click Yes on the dialog box begin recording, otherwise ask again
easygui.msgbox('This is what the last person suggested! Press ok to record.: ' + output_string, 'Title', ok_button= "OK")
N+=1
counterFile = open('counterFile','w')
counterFile.write(str(N));
counterFile.close()
camera.start_recording('video' + str(N) + '.h264')
audioRecord()
camera.stop_recording()
output_string_old = output_string;
output_string = TextEnter()
filename = ConvertMerge()
argparser.add_argument("--file")
argparser.add_argument("--title")
argparser.add_argument("--description")
argparser.add_argument("--category")
argparser.add_argument("--keywords")
argparser.add_argument("--privacyStatus")
args = argparser.parse_args(["--file", filename, "--title", str(N),"--description", output_string_old, "--category", "22", "--keywords", " ", "--privacyStatus", "public"])
initialize_upload(get_authenticated_service(args), args)
我已经制作了这段代码,用于记录素材,然后使用youtube api上传到youtube,但它目前在第二个循环中返回此错误。
ArgumentError:argument --file:conflicting options string(s): - file
filename ='mergedVideo'+ str(N) + '.mkv'
并在每次运行程序时增加。
为什么第二个循环会发生这个错误?
答案 0 :(得分:1)
您必须多次调用parser.add_argument(" - file"),而每个参数只能调用一次。在进入循环之前,只需将所有add_argument调用移到右侧。
运行此代码可能有助于了解出现了什么问题:
import argparse
parser = argparse.ArgumentParser(description='test')
for i in range(2):
print i
parser.add_argument("--file")
parser.add_argument("stuff")
你会注意到第二次循环时出现错误,因为你已经添加了一个名为" - file"的参数。