2015-04-20 3 views
1

http://legacy.python.org/dev/peps/pep-0008/#maximum-line-lengthИнлайн комментарий с линии сломать

указывает на то, что нам нужно не иметь супер длинные строки питона для удобства чтения. Моя проблема заключается в том, что нет руководства, если вы хотите разбить строки, а также включить встроенный комментарий. У меня длинный запрос, который на первый взгляд бросает двусмысленность. Im пытаясь очистить его с некоторыми инлайн комментарии

query = "select jobname,schedtab,odate,order_time,nodeid,state " \ 
     "from a{0}002_ajob," \ # midrange ajf jobs 
     "a{0}003_ajob," \ # mvs ajf jobs 
     "a{0}004_ajob," \ # ipo ajf jobs 
     "a{0}dv7_ajob" \ # aami ajf jobs 
     " where order_time < '{0}' order by odate;".format(date) 

Я также попытался

query = "select jobname,schedtab,odate,order_time,nodeid,state " \ 
     # midrange ajf jobs 
     "from a{0}002_ajob," \ 
     # mvs ajf jobs 
     "a{0}003_ajob," \ 
     # ipo ajf jobs 
     "a{0}004_ajob," \ 
     # aami ajf jobs 
     "a{0}dv7_ajob" \ 
     " where order_time < '{0}' order by odate;".format(date) 

оба дают мне компилятор проблемы. Есть идеи?

+0

См https://docs.python.org/3/reference/lexical_analysis.html#string-literal-concatenation и [этот вопрос] (http://stackoverflow.com/q/17630835/242583). – livibetter

ответ

1

Просто добавьте скобки:

query = ("select jobname,schedtab,odate,order_time,nodeid,state " 
    "from a{0}002_ajob," # midrange ajf jobs 
    "a{0}003_ajob," # mvs ajf jobs 
    "a{0}004_ajob," # ipo ajf jobs 
    "a{0}dv7_ajob" # aami ajf jobs 
    " where order_time < '{0}' order by odate;").format(date) 

Это тоже работает:

query = ("select jobname,schedtab,odate,order_time,nodeid,state " 
    # midrange ajf jobs 
    "from a{0}002_ajob," 
    # mvs ajf jobs 
    "a{0}003_ajob," 
    # ipo ajf jobs 
    "a{0}004_ajob," 
    # aami ajf jobs 
    "a{0}dv7_ajob" 
    " where order_time < '{0}' order by odate;").format(date) 

 Смежные вопросы

  • Нет связанных вопросов^_^