NameError:name' argv'没有定义

时间:2015-08-07 21:36:24

标签: python google-api python-3.4 argv

我正在尝试进行Google API调用,并且在此处找到的代码的开头出现错误:

import os

import argparse
import sys

from apiclient import sample_tools
from oauth2client import client

# Declare command-line flags.
argparser = argparse.ArgumentParser(add_help=False)
argparser.add_argument(
    'profile_id', type=int,
    help='The ID of the profile to look up campaigns for')



  # Authenticate and construct service.
service, flags = sample_tools.init(
    argv[1:], 'dfareporting', 'v2.1', __doc__, os.path.abspath(os.path.dirname("__file__")), parents=[argparser],
    scope=['https://www.googleapis.com/auth/dfareporting',
           'https://www.googleapis.com/auth/dfatrafficking'])

if __name__ == '__main__':
  main(sys.argv)

但是,sample_tools.init函数未返回service和flags对象。我想我已将它与argv参数隔离了

NameError: name 'argv' is not defined

任何帮助都将非常感谢!!!

1 个答案:

答案 0 :(得分:5)

您遗失sys

sys.argv[1:]

您需要from sys import argv并在任何地方使用argvimport sys,并使用sys.argv。我也没有在任何地方看到main函数,因此main(sys.argv)也会导致NameError