Невозможно использовать метод get с Tkinter Text Widget [duplicate]

Это решение, отличное от jQuery. Обратите внимание, что вы не можете просто использовать .click(), поскольку некоторые браузеры не поддерживают его.

<script type="text/javascript">
function performClick(elemId) {
   var elem = document.getElementById(elemId);
   if(elem && document.createEvent) {
      var evt = document.createEvent("MouseEvents");
      evt.initEvent("click", true, false);
      elem.dispatchEvent(evt);
   }
}
</script>
<a href="#" onclick="performClick('theFile');">Open file dialog</a>
<input type="file" id="theFile" />
1
задан Daniel Roseman 20 April 2015 в 17:40
поделиться

2 ответа

NoneType object has no attribute ... означает, что у вас есть объект None, и вы пытаетесь использовать атрибут этого объекта.

В вашем случае вы делаете q.get(...), поэтому q должен быть None. Поскольку q является результатом вызова nse.get_quote(...), эта функция должна иметь возможность возврата None. Вам нужно будет настроить свой код для учета этой возможности, например, проверить результат, прежде чем пытаться его использовать:

q = nse.get_quote(stock)
if q is not None:
    print ...

Корень проблемы, скорее всего, в том, как вы читаете файл , stock будет включать в себя новую строку, поэтому вы должны отключить это перед вызовом nse.get_quote:

q = nse.get_quote(stock.strip())
6
ответ дан Bryan Oakley 15 August 2018 в 21:15
поделиться
  • 1
    Привет, Брайан, у меня только одно значение в all_nse_stocks, то есть в INFY. Если я hardcode, то я получаю правильный вывод. Проблема только в том, что я читаю значение из файла – user3198755 20 April 2015 в 17:50
  • 2
    @ user3198755: вы пробовали отлаживать any ? Например, перед получением цитаты распечатайте значение stock. – Bryan Oakley 20 April 2015 в 17:51
  • 3
    Да, после цикла for я попробовал распечатать значение запаса, и он дает правильное значение, то есть INFY – user3198755 20 April 2015 в 17:52
  • 4
    @ user3198755: вы уверены, что это точно INFY, а не INFY<newline>? У него, вероятно, есть новая строка, которую нужно снять. Я обновил свой ответ, чтобы показать, как это сделать. – Bryan Oakley 20 April 2015 в 17:55
  • 5
    Я дважды проверил. В конце он не имеет никакого нового символа линии. nse.get_quote ('INFY') работает, но nse.get_quote (stock) не работает. Имеет ли это какое-либо отношение к одинарным кавычкам? INFY и «INFY»? – user3198755 20 April 2015 в 18:02

Пожалуйста, проверьте тип «акции» в q = nse.get_quote (stock)

, он должен быть строкой. Кроме того, nestools поддерживается только на Python2, вы не уточнили свою версию python.

Если вы все еще сталкиваетесь с проблемой на момент ее чтения, сообщите мне.

0
ответ дан Vivek Jha 15 August 2018 в 21:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: