Nano Hash - криптовалюты, майнинг, программирование

Eclipse/PyDev обрабатывает новые строки, вставленные в его консоль, как инструкции, но я хочу, чтобы они анализировались как часть длинной строки.

Я работаю над скриптом Python, чтобы автоматизировать некоторые повторяющиеся задачи по обработке текста, которые мне нужно выполнять. Я использую PyDev в качестве плагина для Eclipse в качестве своей IDE.

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

В настоящее время у меня есть скрипт, запрашивающий ввод следующим образом:

oldTableString = raw_input('Paste text of old table here:\n')

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

Я подтвердил, что он читает только первую строку ввода через следующую строку:

print oldTableString

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


Как я могу заставить Eclipse распознать, что я хочу, чтобы он анализировал все, что я вставляю в консоль, включая новые строки, как одну строку?

Спасибо!

22.06.2015

Ответы:


1
text = ""

tmp = raw_input("Enter text:\n")

while tmp != "":
    text += tmp + "\n"
    tmp = raw_input()

print text

Это работает, но вам нужно нажать Enter еще раз.

22.06.2015
  • Похоже, это не работает ... для этого не требуется дополнительное нажатие ввода, оно просто печатает первую строку того, что я вставляю в консоль, как и мой код. 22.06.2015
  • Ваш ввод содержит пустую строку?? Если это так, вы можете заменить что-то вроде QUIT, а затем ввести QUIT после вставки текста. 22.06.2015
  • Это действительно было проблемой; У меня было несколько пустых строк в моем вводном тексте. Использование специальной escape-последовательности, такой как QUIT, работает. Я все же предпочел бы найти решение, которое не требует ввода дополнительного ключевого слова «Окей, я закончил», тем более что я считаю, что мне придется беспокоиться о том, включает ли какой-либо из моих входных данных ключевое слово с этой настройкой. Неужели нельзя сказать Eclipse, чтобы он не рассматривал каждый символ новой строки как знак перехода? 22.06.2015
  • Вы можете использовать аргумент командной строки для передачи ввода в окружении, но это также не идеально, так как ваш ввод не может содержать символ. Более сложным способом было бы использование проклятий или даже какого-либо инструментария графического интерфейса. 22.06.2015
  • Что ж, для многострочного ввода в оболочке вас беспокоит не только PyDev, но и обычные оболочки (где, я думаю, у вас будет такая же проблема, верно?), так что я не вижу большого пути out, если вы не хотите использовать что-то в качестве curses (что не поддерживается PyDev BTW) или набор инструментов графического интерфейса (или использовать escape-последовательность или, возможно, читать из буфера обмена или из файла...). 23.06.2015

  • 2

    Как насчет чтения непосредственно из буфера обмена или перебора каждой строки до тех пор, пока она не получит символ завершения или не истечет время ожидания? Кроме того, важно ли заставить его работать под Eclipse? Работает ли это при прямом выполнении?

    22.06.2015
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..