Вопросы с тегами [python-3.x]

1

голосов
2

ответ
45

Просмотры

Splitting list to many lists with conditions

Я имею такой код, чтобы сделать 4 списков из одного с моими условиями. Это расщепление зависит от знака элементов списков. Как я хочу, чтобы получить список всех положительных, список со списками, где первые элементы являются положительными и второй отрицательны, и т.д ... И все комбинации, как это. Легко создать 4 списков с помощью фильтра, когда все списки containts только 2 элементов. Vals = [(0, 0), (0, 1), (0, -1), (1, 0), (1, 1), (1, -1), (-1, 0), (- 1, 1), (-1, -1)] = new_f список (фильтр (лямбда х: [0]> = 0, Vals)) new_f = лист (фильтр (лямбда-х: [1]> = 0, new_f)) печати (new_f) new_f = лист (фильтр (лямбда-х: [0] = 0, new_f)) печати (new_f) new_f = лист (фильтр (лямбда-х: [0]> = 0, Vals)) new_f = список (фильтр (лямбда х: х [1] = 0, new_f)) печати (new_f) new_f = лист (фильтр (лямбда-х: [0] = 0, new_f)) new_f = лист (фильтр (лямбда-х : х [2]> = 0, new_f)) печати (new_f) Здесь выводится: [(0, 0, 0), (0, 0, 1), (0, 1, 0),
1

голосов
2

ответ
51

Просмотры

How do I evaluate multiple variables with one if statement

Я в настоящее время хранения значений, предоставляемых в ответ API, который возвращает XML, некоторые узлы возвращаются с «ложь» или «истина» Я захватывая эти значения в качестве строкового типа. XML код: ложь правда правда, я хочу, чтобы разобрать с помощью этих значений и если я найду матч я хотел бы изменить «истинный» к «на» и ложным «Off» в зависимости от переменной, которая соответствует. Я только в состоянии сделать это с одной переменной, моя цель состоит в том, чтобы очистить свой код и найти более эффективный способ, любой совет приветствуется. Вот мой блок кода: запросы на импорт импорта JSon импорта CSV из BS4 импорта BeautifulSoup данных в csv_reader: REQ = requests.get (URL, PARAMS = PARAMS) ответ = BeautifulSoup (req.text, 'LXML') = скрытый ответ. найти ( 'скрытый'). строка = SSL response.find ( 'SSL').
Aldo
1

голосов
2

ответ
21

Просмотры

Python Datetime с последовательным вопросом

Я пытаюсь написать сценарий, где 3 переменного список. во-первых, увидеть мой текущий сценарий: импорт DateTime, как дт импорта панд как э.р. х = [ «Йон лань», «GX»] у = [ «Donald Ted», «GY»] Z = [ «кузнец Джо», «Г.З. «] = start_date dt.datetime (2019, 4,12) end_date = dt.datetime (2019, 4,21) DateRange = pd.date_range (дата_начала end_date) на дату в DATERANGE: печать (дата) Я обеспокоен с этим довести выход как это: 12/04/2019, jhone лань, GX 13/04/2019, Donald Ted, GY 14/04/2019, кузнец jhoe, GZ 15/04/2019, jhone лань, GX 16/04 / 2019, Donald Ted, GY 17/04/2019, кузнец jhoe, GZ 18/04/2019, jhone лань, GX 19/04/2019, Donald Ted, GY 14/04/2019, кузнец jhoe, GZ 21/04 / 2019, jhone лань, GX это ясно, если вы видите мой ожидаемый результат. Может кто-нибудь сказать мне, как это сделать? в 3 переменных приведено выше.
newcoder
2

голосов
2

ответ
37

Просмотры

python swaping values using comma is causing confusions

this involves a problem that I encountered when try to solve a linked-list reverse problem. First let me put some preliminary codes for the definition of the linked list and quick method to generate a linked list: class ListNode: def __init__(self, x): self.val = x self.next = None def __repr__(self): if self.next: return "{}->{}".format(self.val, repr(self.next)) else: return "{}".format(self.val) def genNode(*nodes, end=None): if len(nodes) == 1 and type(nodes[0]) == list: nodes = nodes[0] for i in nodes[::-1]: n = ListNode(i) n.next, end = end, n return n if nodes else None The problem I have is that I found the swapping mechanism is still depending on the sequence of the variable that I write. Originally when we talk about swapping values in python we can do: a, b = b, a and it should work the same way if I have b, a = a, b This reverse linked list method that I am trying to write has 3 variables swapping, the idea is simple, to create a dummy head, and consistently adding nodes between dummy and dummy.next, so that it can be reversed. def rev(head): dummy = ListNode('X') while head: dummy.next, head.next, head = head, dummy.next, head.next return dummy.next a = genNode(1,2,3,4) print(rev(a)) # >>> 4->3->2->1 But If I slightly switch the sequence of the 3 variables: def rev2(head): dummy = ListNode('X') while head: dummy.next, head, head.next, = head, head.next, dummy.next, return dummy.next a = genNode(1,2,3,4) print(rev2(a)) # >>> AttributeError: 'NoneType' object has no attribute 'next' So it does seem like that the sequence matters here, and can anyone let me know how python evaluate swapping values if there is more than 2 variables. Thanks!
1

голосов
1

ответ
13

Просмотры

Как сравнить значение строки по индексу и столбца и применить AND OR логика в dataframe?

У меня есть dataframe, который выглядит следующим образом: col1 0 Ofcourse 1 Я люблю Услугу dataframe также может иметь это значение для строки 1: col1 0 Ofcourse 1 Ненавижу службу я хочу, чтобы сравнить значение строк по строкам и столбцам и быть в состоянии проверить одно из двух значений в row1. Я хочу создать эту логику: если df.col1.loc [[0]] == «Конечно!» и (df.col1.loc [[1]] == 'Я люблю службу' или df.col1.loc [[1]] == 'Я ненавижу услугу'): печать ( 'хорошо') Когда я бегу логика выше, я получаю ошибку: ValueError: значение истинности серии неоднозначна. Использование a.empty, a.bool (), a.item (), a.any () или a.All (). Что я делаю неправильно?
RustyShackleford
0

голосов
0

ответ
5

Просмотры

Python moviepy читатель не определен при написании видеофайла

Я пытаюсь объединить несколько наборов AudioFileClip-х и ImageClip-х в одном фильме. Но у меня возникают странные ошибки, я потратил много времени, и пытался много вещей, чтобы попытаться и заставить его работать. Я пробовал: Создание один комбинированный AudioClip, а затем добавить его к объединенным ImageClips вместо добавления кучи ImageClips, что уже есть аудио присоединенных различных способы ввода клипов вместе, такие как .set_audio и с помощью температуры аудиофайла при записи клипа на файл Тестирование аналогичной ситуации в консоли, которая работала поиск и поиск по moviepy документов и предыдущие вопросы moviepy редактора импорта как мки из ГТЦ импорт ГТЦ из теста mutagen.mp3 импорта MP3 класса: Защита __init __ (самостоятельно): self.clips = [ ] Защита add_clip (сам, текст, picture_path, audio_path): TTS = ГТЦ (текст) TTS. каждый поздоровавшись с помощью TTS. TTS работает отлично и выводит mp3 правильно, он отлично работает, когда я закомментируйте set_audio линии, но когда я объединить все клипы в один mp4 имеет ошибку. AttributeError: объект «NoneType» не имеет атрибута «get_frame» Full Error: https://mystb.in/ulusafajan.rb Ни один из объектов в списке нет ни одного, и я запутался, почему каскадный клип оленьей кожи у читателя любые и все помощь приветствуется! Спасибо! гь Ни один из объектов в списке нет ни одного, и я запутался, почему каскадный клип оленьей кожи есть карды Любой помощи приветствуется! Спасибо! гь Ни один из объектов в списке нет ни одного, и я запутался, почему каскадный клип оленьей кожи есть карды Любой помощи приветствуется! Спасибо!
0

голосов
0

ответ
14

Просмотры

Невозможно преобразовать строку плавать

Мне нужно, чтобы получить GPU-Power с сервера. Это должно быть сделано с NVidia-SMI. Защиту getGpuPower (Я): splitedGpuPower = os.popen ( "NVIDIA-SMI --query-GPU = power.draw --format = CSV, NOHEADER, nounits") чтения () заменить ( "\ п",»,.. ") .split (", ") для й в диапазоне (4): self.gpuPower + = поплавок (splitedGpuPower [х]) возвращение self.gpuPower мне нужно число с плавающей запятой, как 250,00 я на самом деле получить (File" test1. р», строка 22, в getGpuPower self.gpuPower + = поплавок (splitedGpuPower [х]) ValueError: не удалось преобразовать строку, чтобы плавать :)
John Carr
1

голосов
3

ответ
530

Просмотры

Force Python to return 0 when returning 0 or None

У меня есть раздел в моем коде в конце рекурсивного вызова, который выглядит следующим образом: если (условие): # Некоторые код здесь еще: возвращение function_call (some_parameters) или function_call (some_parameters) и может оценить не возвращать None или 0 где он возвращает 0 (целое число, как ожидается) или возвращать 0 или None, где он будет возвращать None (не ожидал 0) Мой вопрос, можно ли иметь Python возвращать 0 (как INTEGER) в случае непосредственно выше? Вот код, представляющий сценарий $ кошка test.py # / USR / бен / python3 Защиту test_return (!): Возвращение 0 или None Защиту test_return2 (): возвращает None или 0 Защиту test_return3 (): возвращение '0' или None # Эквивалент `возврата ул (0) или None` печати (test_return ()) печати (test_return2 ()) печати (test_return3 ()) $ ./test.py Нет 0 0 Примечание: 0 должны быть возвращены в виде целого числа.
Kedwin Chen
1

голосов
1

ответ
14

Просмотры

Преобразование лямбда-выражения для простой функции

Мне интересно, если это возможно, чтобы избежать лямбда-выражения в следующем случае. Например, используя лямбда-выражение можно просто определить функцию, которая возвращает лямбда эксп. Защиту square_fun (а, б, в): возвращение лямбда х: а * х ** 2 + Ь * х + с После того как мы можем назвать его с помощью: F = square_fun (1,2,3) П (1) # здесь х = 1 Как я могу получить такое же поведение, избегая лямбда-выражения? например, square_fun должен возвращать другую функцию четкости square_fun (а, б, в): возвращение п ...
kaihami
1

голосов
4

ответ
75

Просмотры

Печать всех результатов от генератора Python

Я сделал функцию генератора, который поиск файла CSV, используя ключевое слово, и я хочу, чтобы распечатать результаты, если есть что-то. Как я могу это сделать без использования печати (следующая (gen_results)) снова и снова? Я попробовал примерку поймать заявление для StopIteration, когда нет соответствия ключевого слова с контактом, но я хочу более краткое решение. Защиту поиск (ключевое слово, имя файла): F = открытое (имя файла, 'г') для линии в F: если ключевое слово в строке: выход линии f.close () = the_generator поиска ( 'Python', 'Contacts.csv') печати (следующая (the_generator)) печать (следующая (the_generator)) Contacts.csv Name01, 89888 Name02, 8885445 Name03, 54555 Name04, 55544584 Name05, 55855 Python, 100 BigPi, 444 Python, 101 Я ожидаю, что выход будет заявление как " Ничего не найдено', если нет никаких контактов с ключевым словом. В случае, если есть контакты с ключевым словом, он выводит все списки.
Jacob Fuchs
1

голосов
1

ответ
55

Просмотры

Как избежать создания атрибута класса случайно

Я знаю, что девиз «мы все совершеннолетние здесь.» но вот проблема, которую я провел день. Я был принят класс с более чем 100 атрибутов. Я указан один из них будет называться «run_count». Передний конец имел место, чтобы войти run_count. Так или иначе, передний конец / фоновый пакет люди решили назвать его «run_iterations» вместо этого. Итак, моя проблема, я пишу модульного тестирования программного обеспечения, и я сделал это: passed_parameters.run_count = 100 результат = do_the_thing (passed_parameters) утверждать результат == 99,75 Теперь, проблема, конечно, в том, что Python охотно позвольте мне установить это " новый»атрибут называется„run_count“. Но, после того, как углубляясь 10 уровней вниз в коде, я обнаружил, что функция «do_the_thing» (очевидно) никогда не смотрит на «run_count», но использует " когда вы naievely предположим, что вы знаете имя атрибута (или ключ Словаре), и случайно создать новую запись, которая никогда не будет Посмотрели? В идеальном мире, независимо от того, как динамический, Python не позволит вам «запереть» и объект или экземпляр одного. Затем, пытаясь установить новое значение для атрибута, который не существует вызовет ошибку атрибутов, давая вам знать, вы пытаетесь изменить что-то, что не существует, вместо того, чтобы создать новый атрибут, который никогда не будет использоваться. когда вы naievely предположим, что вы знаете имя атрибута (или ключ Словаре), и случайно создать новую запись, которая никогда не будет Посмотрели? В идеальном мире, независимо от того, как динамический, Python не позволит вам «запереть» и объект или экземпляр одного. Затем, пытаясь установить новое значение для атрибута, который не существует вызовет ошибку атрибутов, давая вам знать, вы пытаетесь изменить что-то, что не существует, вместо того, чтобы создать новый атрибут, который никогда не будет использоваться.
eSurfsnake
1

голосов
3

ответ
43

Просмотры

Изменение номера версии для одной цифры питона

У меня есть номер версии файла, как это: Тестирование хххх Так что я схватил его, как это: импорт вновь четкости приращения (матч): # преобразовать четыре матча до целых чисел а, Ь, с, d = [Int (х) для х в match.groups ()] # возвращает строку замены возврата п '{а}. {B}. {C}. {D}' = линии открыты ( 'file.txt', 'г'). (readlines ) линии [3] = re.sub (г "\ Ъ (\ d +) \. (\ d +) \. (\ d +) \. (\ d +) \ Ъ", приращение, линии [3]) хочу сделать это так, если последняя цифра является 9 ... затем изменить его на 0, а затем изменить предыдущую цифру до 1. Итак 1.1.1.9 изменения в 1.1.2.0. Я сделал это, выполнив: приращение четкости (матч): # преобразовать четыре матча до целых чисел а, Ь, с, d = [Int (х) при х в match.groups ()] # возвращает строку замены, если (d = = 9): возвращение е Элиф (с == 9) '{а} {B} {с + 1} {0}...': возвращение е '{а}. .. {Ь + 1} {0} {0}»Элиф (б == 9): возвращение F '.. {А + 1} {0} {0} {0}' проблема возникает, когда его 1.1.9.9 или 1.9.9.9. Там, где несколько цифр нужно округлый. Как я могу справиться с этой проблемой?
HeelMega
1

голосов
2

ответ
26

Просмотры

множественный индекс столбцов в панде

У меня есть dataframe в панд: (индекс) количество 0,0 0 0,0 1 +73,74770979 +34,36146516000001 1,0 0 1,0 1 +25,759792399999995 +117,37044276999995 Я хотел бы иметь DataFrame как этот: Индекс amount_0, amount_1 0,0 73 .... 34 ... 25 1.0. ... 117 ... как я могу это сделать. Мой индекс столбец состоит из столбцов «часа» и «стороны».
FNTE
1

голосов
2

ответ
65

Просмотры

Скоблить URL-адрес с помощью BeautifulSoup в Python 3

Я попробовал этот код, но список с URL, остается пустым. Нет массаж ошибки, ничего. от BS4 импорта BeautifulSoup из urllib.request Запроса импорта, urlopen импорта повторно REQ = Request ( 'https://www.metacritic.com/browse/movies/genre/date?page=0', заголовки = { 'User-Agent' : 'Mozilla / 5.0'}) html_page = urlopen (REQ) .read () суп = BeautifulSoup (html_page, особенности = "XML") ссылки = [] для ссылки в soup.findAll ( 'а', ATTRS = { 'Href ': re.compile ( "^ https: //www.metacritic.com/movie/")}): links.append (link.get (' HREF ')) печати (ссылки) Я хочу, чтобы очистить все URL-адреса, которые начать с «https://www.metacritic.com/movie/», которые находятся в данном URL «https://www.metacritic.com/browse/movies/genre/date?page=0». Что я делаю неправильно?
TAN-C-F-OK
1

голосов
2

ответ
70

Просмотры

не Конкатенация панд DataFrames с перекрытием индексов, но никогда не пересекающиеся значений

У меня есть два DataFrames произвольной формы типа: ABC 0 A0 B0 C0 1 А1 В1 С1 2 А2 В2 NaN 3 А3 NaN NaN 4 А4 NaN NaN и АВС 2 NaN NaN С2 3 NaN B3 С3 4 NaN В4 С4 5 A5 B5 C5 6 A6 B6 C6 два DataFrames имеют перекрывающиеся индексы. Там, где существует перекрытие, для данного столбца, есть не-NaN в одном DataFrame и NaN в другом. Как можно объединить эти такие, что можно достичь DataFrame со всеми значениями и никаких пренебрежимо малых: ABC 0 A0 B0 C0 1 А1 В1 С1 2 А2 В2 С2 3 А3 В3 С3 4 A4 B4 C4 5 A5 B5 C5-6 A6 B6 C6 Мои предложил решение: DF3 = pd.concat ([pd.concat ([df1 [Col] .dropna (), df2 [Col] .dropna ()]) окра в df1.columns], оси = 1) Тем не менее, в идеале я не будет работать столбец за столбцом.
LevDavidovich
1

голосов
3

ответ
75

Просмотры

PythonError: «поплавок» объект не итерация

Я пытаюсь сделать 3 ломтика из списка векторов из текстового файла, с 2 колонками, используя условия для разделения RGB. Но когда я запускаю программу появляется следующее сообщение об ошибке: «поплавок" объект не итерация». Может кто-нибудь мне помочь? Открытие ARQ # файлов = открыты ( 'arquivo.txt', 'г') = линия arq.readlines () arq.close () vetor_x = [] vetor_y = [] lista_geral = [] для линии в линии: линия = линия. заменить ( '\ п', '') строка = line.strip () строка = line.replace ( ' ''. ') линия = line.split (' \ т'), если (Len (строка) == 2): Х = [0] Y = линии [1] vetor_x.append (с плавающей точкой (X)), vetor_y.append (с плавающей точкой (Y)) lista_geral.append ([X, Y]) #Conditions В = 0 G = 0 R = 0 для г в интервале (0, Len (vetor_x)): если vetor_x [я]
Fulana
1

голосов
2

ответ
40

Просмотры

Tkinter - со счётчиком выглядит больше, чем ожидалось

Запуск Python3.7 скачанный с python.org на MacOS Мохаве. Я использую следующий код, чтобы выстраиваться Счетчик и Scale для управления той же переменной. Тем не менее, внешний вид не то, что я ожидал: импорт Tkinter, как Tk = корень tk.Tk () мэйнфреймов = tk.Frame (корень) вход # Модель = tk.DoubleVar (значение = 0). # Вход = tk.IntVar ( значение = 0) спин = tk.Spinbox (мэйнфреймы, textvariable = вход, завернуть = True) слайд = tk.Scale (мэйнфреймы, переменный = вход, Orient = 'горизонтальная') спина [ 'до'] = 1.0 спина [ 'из '] = 0,0 спин [' приращение '] = 0.01 слайд [' до '] = 1,0 скольжения [' от '] = 0.0 # спина [' до '] = 100 # спина [' от '] = 0 # спина [' приращение '] = 1 # слайд [' до '] = 100 # слайд [' от '] = 0 # Layout веса = {' спина: 1, 'слайд': 1000} mainframe.grid_rowconfigure (0, вес = 1) мэйнфреймов. grid_columnconfigure (0, вес = вес [ 'спина']) mainframe.grid_columnconfigure (1, вес = вес [ 'слайд']) spin.grid (строка = 0, столбец = 0, 'Новости' липким =) slide.grid ( строка = 0, столбец = 1, липкий = 'новости') root.grid_rowconfigure (0, вес = 1) root.grid_columnconfigure (0, вес = 1) mainframe.grid (строка = 0, столбец = 0) root.mainloop ( ) Я ожидаю, что шкала займет больше места, чем со счётчиком, но оказывается наоборот. Я думал, что, может быть, это потому, что я использовал DoubleVar, где строка может получить долго из десятичной проблемы, но IntVar дает мне тот же результат. Смотрите блоки кода, которые закомментированные. В чем дело? Как я должен получить короткий Счетчик и длинную шкалу из этой ситуации? Это Macos конкретно, где ОС накладывает некоторые минимальные размеры на виджетах? спина ']) mainframe.grid_columnconfigure (1, вес = вес [' слайд ']) spin.grid (строка = 0, столбец = 0, липкий =' Новости) slide.grid (строка = 0, столбец = 1, липкий = 'новости') root.grid_rowconfigure (0, вес = 1) root.grid_columnconfigure (0, вес = 1) mainframe.grid (строка = 0, столбец = 0) root.mainloop () Я ожидаю, что шкала будет принимать больше номер, чем со счётчиком, но оказывается наоборот. Я думал, что, может быть, это потому, что я использовал DoubleVar, где строка может получить долго из десятичной проблемы, но IntVar дает мне тот же результат. Смотрите блоки кода, которые закомментированные. В чем дело? Как я должен получить короткий Счетчик и длинную шкалу из этой ситуации? Это Macos конкретно, где ОС накладывает некоторые минимальные размеры на виджетах? спина ']) mainframe.grid_columnconfigure (1, вес = вес [' слайд ']) spin.grid (строка = 0, столбец = 0, липкий =' Новости) slide.grid (строка = 0, столбец = 1, липкий = 'новости') root.grid_rowconfigure (0, вес = 1) root.grid_columnconfigure (0, вес = 1) mainframe.grid (строка = 0, столбец = 0) root.mainloop () Я ожидаю, что шкала будет принимать больше номер, чем со счётчиком, но оказывается наоборот. Я думал, что, может быть, это потому, что я использовал DoubleVar, где строка может получить долго из десятичной проблемы, но IntVar дает мне тот же результат. Смотрите блоки кода, которые закомментированные. В чем дело? Как я должен получить короткий Счетчик и длинную шкалу из этой ситуации? Это Macos конкретно, где ОС накладывает некоторые минимальные размеры на виджетах? колонка = 0, 'Новости' липким =) slide.grid (строка = 0, столбец = 1, липкий = 'Новости') root.grid_rowconfigure (0, вес = 1) root.grid_columnconfigure (0, вес = 1) ЭВМ. сетка (строка = 0, столбец = 0) root.mainloop () Я ожидаю, что шкала займет больше места, чем со счётчиком, но оказывается наоборот. Я думал, что, может быть, это потому, что я использовал DoubleVar, где строка может получить долго из десятичной проблемы, но IntVar дает мне тот же результат. Смотрите блоки кода, которые закомментированные. В чем дело? Как я должен получить короткий Счетчик и длинную шкалу из этой ситуации? Это Macos конкретно, где ОС накладывает некоторые минимальные размеры на виджетах? колонка = 0, 'Новости' липким =) slide.grid (строка = 0, столбец = 1, липкий = 'Новости') root.grid_rowconfigure (0, вес = 1) root.grid_columnconfigure (0, вес = 1) ЭВМ. сетка (строка = 0, столбец = 0) root.mainloop () Я ожидаю, что шкала займет больше места, чем со счётчиком, но оказывается наоборот. Я думал, что, может быть, это потому, что я использовал DoubleVar, где строка может получить долго из десятичной проблемы, но IntVar дает мне тот же результат. Смотрите блоки кода, которые закомментированные. В чем дело? Как я должен получить короткий Счетчик и длинную шкалу из этой ситуации? Это Macos конкретно, где ОС накладывает некоторые минимальные размеры на виджетах? столбец = 0) root.mainloop () Я ожидаю, что шкала займет больше места, чем со счётчиком, но оказывается наоборот. Я думал, что, может быть, это потому, что я использовал DoubleVar, где строка может получить долго из десятичной проблемы, но IntVar дает мне тот же результат. Смотрите блоки кода, которые закомментированные. В чем дело? Как я должен получить короткий Счетчик и длинную шкалу из этой ситуации? Это Macos конкретно, где ОС накладывает некоторые минимальные размеры на виджетах? столбец = 0) root.mainloop () Я ожидаю, что шкала займет больше места, чем со счётчиком, но оказывается наоборот. Я думал, что, может быть, это потому, что я использовал DoubleVar, где строка может получить долго из десятичной проблемы, но IntVar дает мне тот же результат. Смотрите блоки кода, которые закомментированные. В чем дело? Как я должен получить короткий Счетчик и длинную шкалу из этой ситуации? Это Macos конкретно, где ОС накладывает некоторые минимальные размеры на виджетах? S не так? Как я должен получить короткий Счетчик и длинную шкалу из этой ситуации? Это Macos конкретно, где ОС накладывает некоторые минимальные размеры на виджетах? S не так? Как я должен получить короткий Счетчик и длинную шкалу из этой ситуации? Это Macos конкретно, где ОС накладывает некоторые минимальные размеры на виджетах?
kakyo
1

голосов
1

ответ
89

Просмотры

Python 2/3 Asyncio в 2019 году

Я должен держать мое приложение совместимо с Python 2 и 3 одновременно. У меня есть некоторый код, как в следующем, что я хочу, чтобы иметь возможность асинхронно вызывать функцию, а затем ждать, пока все мои фьючерсы будут решены. Код: запросы на импорте # Это будет возвращать будущую четкость get_xhr (URL): возвращение requests.get ( 'https:. // WWW {} .com'.format (URL)) # Это возвращает массив фьючерсы DEF get_search_engines ( ): URLS = [ 'Google', 'Yahoo', 'Бинг'] возвращение [get_xhr (URL) для URL в адресах] # Здесь я хочу подождать, пока все фьючерсам быть решены get_search_engines () печать ( "Все запросы сделано ') Asyncio асинхронной / Await кажется совместима только с Python 3. Что является лучшим способом, чтобы иметь возможность запускать функции асинхронной то будет совместим как для питона 2/3?
ClickThisNick
1

голосов
1

ответ
48

Просмотры

Маска данных в качестве xarray и изменений значений для обоих Истинных и ложных ответов

У меня есть xarray DataArray, который содержит данные из нескольких дней. Я могу замаскировать его с помощью .гда функции для одного условия, но я хотел бы, чтобы все значения по сравнению с определенным значением 1 и все значения при этом значении 0. В идеале, я, также хотел, чтобы гарантировать, что любой нп. Nans в наборе данных не изменяются, но это не является обязательным требованием. импортировать NumPy, как нп импорта xarray, как хг = двал np.random.randint (5, размер = [3,4,4]) х = [0,1,2,3] у = [0,1,2,3] время = [ '2017-10-13', '2017-10-12', '2017-10-11'] а = xr.DataArray (D-Val, Coords = [время, х, у], тускнеет = [ 'время »,„х“,„у“]) а = a.where (а> 2,1,0) #ideally это будет работать (состояние, Истинный вал, Ложные вали) Это приводит к ValueError из«не может установить " другой», если падение = True» Любая помощь с этим было бы весьма признателен.
JackLidge
1

голосов
3

ответ
61

Просмотры

Элегантный способ вернуть JSon поле, если поле является недействительным в Python

Я тупой вопрос о моей колбе REST API. Если у меня есть модель пользователя с большим количеством информации, и я хочу, чтобы вернуть его в формате JSON. Но часть информации по-прежнему не имеет никакого значения (NULL). Что элегантный способ, чтобы вернуть его как пустую строку или значение по умолчанию другой вместо того, чтобы вернуть его в нуль. Что-то вроде этого: { 'имя пользователя': 'Foo', 'FullName': ''} вместо этого: { 'имя пользователя': 'Foo', 'FullName': нулевой} Это моя функция: Защиту JSON (самостоятельно): возвращение { 'имя пользователя': self.phone 'FullName': self.fullname} Это модель пользователя: класс UserModel (db.Model): __tablename__ ID = 'пользователей' = db.Column (db.Integer, primary_key = True ) имя пользователя = db.Column (db.String (80)) пароль = дб.
ikhsan
1

голосов
4

ответ
66

Просмотры

How to make a List comprehension for reversed words?

Я пишу код на списковых, что потребности программы сделать печать любой палиндром, что, по крайней мере 5 символов (которые я уже сделал) из стандартного ввода, а также наоборот. Например, «Damon» «кочевник» «упиваться» «рычаг» все должны быть помещены в в одном списке с палиндром слов. Ive пытался StackOverflow и других веб-сайтов программирования помощи, задача правильно, но не завершена в виде списка понимания. импорт SYS линия = sys.stdin all_text = [a.strip () для линии в] atleast_5_letters = [а для в all_text, если Len (а)> = 5] reverse_words = [а в течение atleast_5_letters] палиндром = [а для в atleast_5_letters, если [:: - 1] .upper () == a.upper ()] для печати (палиндром) #stdin ввода:
Matty_boy98
1

голосов
2

ответ
37

Просмотры

Как обменять даты из цикла в массив, в Python?

Я хотел бы спросить, как обменять даты из цикла в массив, в Python? Мне нужен массив нерегулярных, случайных дат с часами. Таким образом, я подготовил решение: импорт DateTime импорта радар r 2 = () для в диапазоне (1,10): r 2 = R2 + (radar.random_datetime (начало = '1985-05-01', стоп = '1985-05- 04' ),) r3 = лист (r2) печать (r3) в результате я получаю список как: [datetime.datetime (1985, 5, 3, 17, 59, 13), datetime.datetime (1985, 5, 2, 15, 58, 30), datetime.datetime (1985, 5, 2, 9, 46, 35), datetime.datetime (1985, 5, 3, 10, 5, 45), datetime.datetime (1985, 5 , 2, 4, 34, 43), datetime.datetime (1985, 5, 3, 9, 52, 51), datetime.datetime (1985, 5, 2, 22, 7, 17), datetime.datetime (1985, 5, 1, 15, 28, 14), datetime.datetime (1985, 5, 3, 13, 33, 56)] Но мне нужна строка в списке, как: песни2 = [ '1985-05-02 8:48: 46' , '1985-05-02 10:47:56'
1

голосов
1

ответ
25

Просмотры

Использование __repr__, когда параметр по умолчанию в None, но может быть ул

У меня есть класс, который может быть инициализирует с несколькими параметрами. Некоторые из этих параметров по умолчанию имеет значение None, но если предоставляется значение должно быть ул. Я хотел бы иметь хороший вещий выход из __repr () __, но не могу понять, как не обрабатывать None, а также возможной ул в одном возвратного заявлении. Я хотел бы избежать необходимости различные заявления возврата в зависимости от того, параметр не является None или значение ул. Простой пример: класс Demo: "" "Демонстрация того, как не иметь дело с None в __repr () __" "" Защита __init __ (я, ш: междунар х: INT, у = None, г = None): я. W = W self.x = х = у self.y self.z = г защиту __repr __ (сам): возвращение ф "демонстрационная (ш = {self.w}, х = {self.x}, у = '{я .y}», г = '{self.z}')» Вот два примера использования этого класса: >> > D1 = Демонстрационный (5, 4) >>> d1 Демонстрационный (ш = 5, х = 4, у = 'None', г = 'None') >>> d2 = Демонстрация (5, 4, 'мне', «вы») >>> d2 Demo (ш = 5, х = 4, у = «я», г = «вы») Обратите внимание, как никто не в одинарные кавычки, которые не то, что я хочу. Но и вы меня в кавычки, которые уместно, учитывая, что они ул.
Martin Héroux
1

голосов
3

ответ
40

Просмотры

проблемы при печати следующих () в Python 3

У меня странные проблемы с помощью команды печати (следующая ()) в Python 3. Когда я использовать его для печати на консоли, она работает отлично, но когда я пытаюсь сохранить вывод в файл, он не Работа! Команды, которые я использую следующие: для пункта в окончательном: FASTA = открыт (имя_файл) # имя_файл это имя, если входной файл для линии в FASTA: линии = line.strip (), если элемент в строке: пункт = пункт .strip () печать ( 'Line:', строки, '\ nNext линия:', следующий (FASTA)) # это работает отлично! печать (строка, следующая (FASTA), файл = открыт ( 'finalList.fa', "а")) # это один не работает! Вывод, который я получаю от следующего (Fasta) часть последней команды, является линия + 2 вместо строки + 1, как тот, который я получаю от печати на консоли команду. Кто-нибудь имеет понятия о том, что происходит? Любой наконечник будет очень признателен! Спасибо всем заранее. Сердечно Фернанда Коста
Fernanda Costa
1

голосов
2

ответ
28

Просмотры

Что такое Панды Эквивалент SQL Update?

Это должно быть очень легко, но Google не помогает. Что версия Панды / Python3 из: UPDATE таблица SET column1 = «значение» WHERE COLUMN2 НРАВИТСЯ «некоторое значение%» UPDATE: К сожалению, это больше, чем просто обновление. Это обновление с шаблоном.
Bob Wakefield
1

голосов
3

ответ
33

Просмотры

Нужна помощь с зачисткой микросекунды от времени эпохи

У меня есть API, к которому я должен послать начало времени эпохи и дату окончания. Единственная проблема в том, что он не будет принимать микросекунды. Я построил функцию времени с помощью datatime, однако он рассчитывает микросекунды. Я попробовал .Привернуть (микросекунды = 0), но это только оставляет .0 на Epoch, который мой API жалуется. Я также пытался экспортировать в strptime, но тогда моя функция .timestamp не в состоянии разобрать его в виде строки. timestart = datetime.now () - timedelta (ч = 24) timeend = datetime.now () PARAMS = { 'дата_начала': timestart.timestamp (), 'дата_окончания': timeend.timestamp ()} Я хотел бы в принципе вычислить текущее время в эпохе времени и 24 часов назад (это не должно быть супер точными), что я могу передать мое API.
Jessica Ferguson
1

голосов
2

ответ
74

Просмотры

Что такое накладные расходы на задачи asyncio? [на удерживании]

Что такое накладные расходы любой задачи asyncio с точки зрения памяти и скорости? Является ли это когда-нибудь стоит свести к минимуму количество задач в тех случаях, когда они не должны работать одновременно?
Michal Charemza
1

голосов
2

ответ
39

Просмотры

How to load a python module from a string?

Учитывая строку оптимизатора = «tensorflow.train.ProximalAdagradOptimizer» Как можно достичь следующим образом: импорт tensorflow Оптимизатор = tensorflow.train.ProximalAdagradOptimizer () Контекст Чтобы добавить контекст к моему конкретному случаю использования (для решения одной из комментариев): Я м пытается создать текстовый конфиг, который описывает, как моя модель: была настроена (в частности, оценка). Таким образом, я могу легко повторно создать экземпляр их после тренировки, если я хочу, чтобы обучить его более или делать другие вещи с ними. Я не нашел простой способ сделать это; Я не ищу saved_model для этого. Мой случай использования легко перезарядить моделей до их совершения в saved_model состоянии. Конфигурации будет выглядеть следующим образом: model_config = { "типа": "DNNClassifier", "n_classes": 10, "feature_columns": [{ "Numeric_column": [{ "ключ": "х"}, { "ключ": "у"}]}], "Оптимизатор": { "AdamOptimizer": { "learning_rate": 1.0}}} Учитывая, что «конфигурация» Я могу создать экземпляр моего оценщик с: оценщиком = load_estimator (model_config, model_dir = model_dir) значение типа будет преобразовано в tensorflow.estimator.DNNClassifier. Значение feature_column [0]. разрешило бы к tensorflow.feature_column.numeric_column. Наконец, значение оптимизатора. разрешило бы к tensorflow.train.AdamOptimizer. numeric_column. Наконец, значение оптимизатора. разрешило бы к tensorflow.train.AdamOptimizer. numeric_column. Наконец, значение оптимизатора. разрешило бы к tensorflow.train.AdamOptimizer.
rodrigo-silveira
1

голосов
5

ответ
65

Просмотры

mathematical formula in python doesnt work

Я изучаю машинное обучение в Python и настоящее время им изучать основы. Im в настоящее время изучает линейную регрессию и пытается реализовать некоторые математические формулы в Python коду. Я успел написать несколько формул успешно, но есть в этом один им с трудом с: (X - Xmeans) * (Y - Ymeans) Это всегда дает мне ошибку «индексы списка должны быть целыми или дольками, а не numpy.float64 "когда я пытаюсь напечатать. Я попытался посмотреть на тех же случаях и их решения в Интернете, но ни один из них не работал. импорта NumPy импорта matplotlib.pyplot, как рх X_positions = numpy.array ([2,3,4,5,6]) y_positions = numpy.array ([4,5,6,5,7]) plt.plot ([X_positions ], [y_positions], 'ро') plt.axis ([0,10,0,10]) X_means = сумма (X_positions) / LEN (X_positions) y_means = сумма (y_positions) / LEN (y_positions) plt.plot ( [X_means], [y_means],
some_wild_one
1

голосов
2

ответ
29

Просмотры

Append значения в колонке для запуска другого столбца, который содержит список

У меня есть Dataframe, который содержит следующие значения ключевых слов Синонимы 0 пуха [волосы, медь, свиньи, быка, полицейский, размытие] 1 салфетки [таблица] 2 рационализаций [систематизации, рационализации] 3 гроссмейстеры [гроссмейстера] 4 репетировать [Практика] Для цель создания выпадающего меню на более позднем этапе, как бы я добавить значение в колонке ключевых слов в начале каждого списка в столбце синонимами? Мой код выглядит следующим образом:. Д.Ф. [ ''] Синонимы = pd.concat ([ф.р. [ 'Ключевое слово'] присоединять (ДФ [ ''] Синонимы)
Gavin Fitzpatrick
1

голосов
3

ответ
32

Просмотры

Какой намек типа можно использовать в Python, если мой тип является функцией?

Я хочу использовать подсказки типа в Python, но есть некоторые случаи, когда тип моих параметров не ясен мне ... делать функции имеют тип, или они особый случай. Я хотел бы сделать что-то вроде следующий: псевдокода: Защита run_function (function_to_run: п): function_to_run (данные) возможно ли это? Если да, то какой тип я должен использовать? Редактирование: Я надеялся, чтобы отличить функцию от других вызываемых объектов, таких как классы ... но, возможно, не имеет значения, и является чрезмерно осторожным.
phatpenguin
0

голосов
2

ответ
21

Просмотры

Как решить ошибки «AttributeError: тип объекта„Image“не имеет атрибута„открыть“» в Python?

Я пытаюсь отобразить изображение в Tkinter холст, и я бегу в следующее сообщение об ошибке. Моя операционная система Mac OS. Мой питон код: от Tkinter импорта * из PIL импорта ImageTk, корень Image = Tk () = холст Холст (корень, ширина = 300, высота = 300) canvas.pack () IMG = ImageTk.PhotoImage (Image.open (» ball.png ")) canvas.create_image (20, 20, якорь = NW, изображение = IMG) root.mainloop () Это отображая сообщение об ошибке следующим образом при запуске: AttributeError: объект типа 'Image' не имеет атрибута 'открыть' Я хочу Tkinter, чтобы отобразить следующее изображение. Но это вместо сообщения об ошибке. Может кто-нибудь, пожалуйста, помогите мне в решении этой ошибки?
Vivek
-2

голосов
2

ответ
23

Просмотры

random.randint () вызов с -1?

Может кто-то объяснить, почему диапазон в random.randint (0, Len (сообщения) - 1) имеет минус 1 в конце? Список имеет 9 значений: импорт случайных MESSAgES = [ «Несомненно», «Это решительно так», «Да, безусловно», «Ответ мутного попробовать еще раз», «Спросите позже», «Концентрат и спрашивать», ' Мой ответ не существует», 'Перспективы не так хорошо', 'Очень сомнительно'] = select_number random.randint (0, LEN (сообщения) - 1) = list_select сообщения [select_number] печать (list_select)
Bear McBear
0

голосов
0

ответ
4

Просмотры

Использование Python Boto3 AWS Lambda, S3 Key LastModified возвращается в двух типов для двух различных способов

LastModified из данного ключа возвращается в двух различных форматах. Если хранить в переменной или непосредственно печати, он дает мне этот формат: 2019-04-17 11: 14: 11 + 00: 00 И если я пытаюсь сохранить его в качестве значения в Словаре, а затем распечатать его, он показывает в этом формате: { 'redshift_data_source / сетки / load.csv': datetime.datetime (2019, 4, 17, 11, 14, 11, tzinfo = tzlocal ())} Почему такое различие в форматах? Во-вторых, моя цель состоит в том, чтобы сохранить LastModified в файл и проверить каждый день, если LastModified файла изменилось или нет. Как я могу сделать это без загрузки .zip дополнительных библиотек? Я хочу что-то вроде этого (где должны поступать из файла, который я храню метаданные и б должны быть метаданные последней версии файла читать: а = datetime.datetime (2019, 4, 17, 11, 14, 11, tzinfo = tzlocal ( )) # вчера Ъ = datetime.datetime (2019, 4, 18, 05, 53, 19,
Aakash Basu
5

голосов
5

ответ
112

Просмотры

Имеет ли {т, п}? регулярное выражение на самом деле свести к минимуму повторы, или это минимизирует количество совпавших символов?

Согласно документации Python3 Regex: {т, п}? Причины в результате RE, чтобы соответствовать от т до п повторений предыдущего RE, пытаясь соответствовать, как несколько повторений, насколько это возможно. Это нежадная версия предыдущего классификатора. Так, например, на 6-символьной строки 'AAAAAA', а {3,5} будет соответствовать 5 'а' символов, в то время как {3,5}? будет соответствовать только 3-х символов. Тем не менее, это, как представляется, противоречат следующему эксперименту: импорт повторного регулярного выражения = re.compile ( '(ABC | D | ABCDE) {1,2} (е | е)?') Regex.match ( 'ABCDEF'). .. который соответствует 'ABCDE'. Это обязательно включает в себя 2 повторений (ABC | D | ABCDE), а именно, 'ABC' и 'd'. Тем не менее, существует альтернативный кандидат матч, который участвует только 1 повторение (аЬс | d | ABCDE), а именно 'ABCDE. Могу ли я неправильно понимаю документацию, или же {т, п}? фактически свести к минимуму количество совпавших символов (или какой-либо другой цели), а не количество повторений?
James Shapiro
0

голосов
0

ответ
13

Просмотры

Использование ProcessPoolExecutor для веб скрепера: Как получить данные обратно в очередь и результаты?

Я написал программу для обхода одного сайта и скрести определенные данные. Я хотел бы, чтобы ускорить его выполнение с помощью ProcessingPoolExecutor. Тем не менее, у меня возникают проблемы с пониманием, как я могу конвертировать из однотридовой в параллельный. В частности, при создании задания (через ProcessPoolExecutor.submit ()), я могу передать класс / объект и арг вместо функции и арг? И, если да, то как вернуть данные из этих заданий в очередь для отслеживания посещенных страниц и структуры для проведения скопированного контента? Я использовал это в качестве отправной точки спрыгнув, а также обзор очереди и concurrent.futures документы (с, честно говоря, последнее происходит немного над моей головой). Я также Googled / Youtubed / SO'ed вокруг совсем немного, чтобы не дало никаких результатов. из очереди импорта очереди, Empty из concurrent.futures импорт ProcessPoolExecutor класса Скребка: " ) # Передача объекта в # ProcessPoolExecutor ... это может быть сделано? работа = self.pool.submit (скребок, target_url) «» «Как я 1) возвращает данные из каждого экземпляра Скребок в self.data и 2) положенный Царапины ссылки на self.queued_urls?„“» кроме Empty: печать ( "Все сделано."), за исключением Exception как е: печать (е), если __name__ == '__main__': гусеничный = CrawlManager ( 'www.mywebsite.com') crawler.crawl () Как 1) возвращают данные из каждого экземпляра Скребка в self.data? и 2) положить Царапины ссылки на self.queued_urls? ""»Кроме Empty: печать ( "Все сделано".), За исключением Exception как е: печать (е), если __name__ == '__main__': гусеничный = CrawlManager ( 'www.mywebsite.com') crawler.crawl () Как 1) возвращают данные из каждого экземпляра Скребка в self.data? и 2) положить Царапины ссылки на self.queued_urls? ""»Кроме Empty: печать ( "Все сделано".), За исключением Exception как е: печать (е), если __name__ == '__main__': гусеничный = CrawlManager ( 'www.mywebsite.com') crawler.crawl ()
xibalba1
1

голосов
0

ответ
29

Просмотры

Как передать несколько значений в качестве опции nosetests' в setup.cfg?

Я в настоящее время работают мои тесты с: nosetests3 -vd -w. module1 module2 ... И я хотел бы автоматизировать эти параметры. Тем не менее, я не могу найти способ, чтобы передать несколько значений опции ... Я попытался это: [nosetests] многословие = 1 детализированных-ошибки = 1, где =. module1 module2 ... Но он отвечает ValueError: рабочий каталог. module1 module2' не найден или не каталог и с: [nosetests] многословие = 1 детализированные-ошибки = 1, где =. где = module1 где = module2 он отвечает: nosetests: Ошибка: Ошибка чтения файла конфигурации «setup.cfg»: Во время чтения из «setup.cfg» [строка 6]: опция «где» в разделе «nosetests» уже существует, как это сделать тот ?
hl037_
1

голосов
0

ответ
189

Просмотры

I am trying to change the value of an exposed variable in RPyC. I receive an error. What am I doing wrong?

I am using RPyC for a client-server application. I try to change the value of exposed_variable when I call exposed_change() method. I receive "UnboundLocalError: local variable 'exposed_variable' referenced before assignment" error. However, if I make exposed_variable global (before I try to modify it, like in this example), I get "NameError: name 'exposed_variable' is not defined". What am I missing? This is my server: from rpyc.utils import server import rpyc import time class DoStuffService(rpyc.Service): exposed_variable = 1 def exposed_change(self): #global exposed_variable exposed_variable = exposed_variable + 1 if __name__ == '__main__': protocol_config = dict(instantiate_custom_exceptions=True, import_custom_exceptions=True) server.ThreadedServer(DoStuffService, hostname='localhost', port=8888, auto_register=False,protocol_config=protocol_config, backlog=500).start() This is my client: import rpyc, sys import time def rpyc_call(): conn = rpyc.connect('localhost', 8888) a = 1 while a: conn.root.change() nr=conn.root.variable print("Nr is ", nr) time.sleep(10) if __name__ == '__main__': rpyc_call() Thank you. I am wainting for your advice... EDIT: Problem solved. Instead of "exposed_variable" I used a simple "variable" which I defined as global(under "imports"). I made it global in exposed_change() and i returned it. Now it's working as I expected.
SomeoneNew
1

голосов
1

ответ
37

Просмотры

Python 3.6: Using object instance name for raising errors

I'm attempting to create a 3-d graphics engine using Python 3.6, Tkinter, and specifically NOT pygame (or any other 3d graphics engines) as part of a university assignment. Within this project, I have had to create a "matrix" class, which allows me to easily create and manipulate mxn matrices. I believe this to be crucial for transforming vectors in order to display items on a 2d display. One method I would like my Matrix class to contain is matrix multiplication. I figured the first (and most important) thing to check when performing this method is to ensure that the width of the first matrix is equal to the height of the second matrix, as that is necessary for multiplying two matrices together. If the two matrices cannot be multiplied together, I raise an TypeError, in which I want to say "Matrix multiplication not possible. Width of {first matrix's name}: ({value}) is not equal to height of {second matrix's name}: ({value})". eg apple = Matrix(2, 3, List_of_values) #creates a matrix instance that is 2x3 and contains 6 values from a list pear = Matrix(4, 3, Another_list_of_values) #creates a matrix that is 4x3 and contains 12 values from another list apple.multiply(pear) This should, when all is working, attempt to perform {apple x pear} mathematical operation, specifically with apple first and pear second In this case, multiplication is obviously not possible: apple is 2 high and 3 wide, and pear is 5 high and 3 wide. I would like to raise an error like: TypeError: Matrix multiplication not possible: Width of apple (3) is not equal to height of pear (4) Instead, I get this: TypeError: Matrix multiplication not possible: Width of (3) is not equal to height of (4) I believe I need to define the __name__ attribute within my matrix class, such that when apple.__name__ is called, it returns a string that contains the name "apple". Is this possible? Is this even a good idea? Is there a better coding practise I should follow instead? Thanks
William Pulford
1

голосов
1

ответ
52

Просмотры

Как я представляю подпотоки в диспетчере задач Python Луиджи?

Предположим, у меня есть поток A-> B. Пользователи этого потока требуется B. Предположим, у меня есть задание C, который требует B, но я хочу, D произойти до потока A-> B. Как это сделать в Луиджи?
Lars Ericson

Просмотр дополнительных вопросов