Очистить команду в Python не только в PyCharm [duplicate]

Этот ответ основан на комментариях о том, что devicePixelRatio неправильно возвращается на ответ user1080381.

Я обнаружил, что эта команда возвращалась некорректно и в некоторых случаях при работе с рабочим столом, Surface Pro 3 и Surface Pro 4.

Я обнаружил, что он работал на моем рабочем столе, но SP3 и SP4 отображали разные числа друг от друга и на рабочем столе.

Я заметил, что SP3 возвращался в полтора раза выше уровня масштабирования, который я ожидал. Когда я взглянул на настройки дисплея, SP3 был фактически установлен на 150% вместо 100%, который у меня был на моем рабочем столе.

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

Мне удалось получить масштаб в настройках Windows, выполнив следующее:

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DesktopMonitor");
double deviceScale = Convert.ToDouble(searcher.Get().OfType<ManagementObject>().FirstOrDefault()["PixelsPerXLogicalInch"]);
int standardPixelPerInch = 96;
return deviceScale / standardPixelPerInch;

Так что в случае мой SP3, вот как этот код смотрит на 100% -ное масштабирование:

devicePixelRatio = 1.5
deviceScale = 144
deviceScale / standardPixelPerInch = 1.5
devicePixelRatio / (deviceScale / standardPixelPerInch) = 1

Умножение на 100 в исходном ответе user1080381 тогда даст вам масштаб 100 (%).

7
задан Simon Peloquin 2 December 2014 в 04:59
поделиться

2 ответа

Этот вопрос немного устарел, но я думал, что оставлю это здесь для других людей, которые задаются вопросом, как это сделать

Как

  1. Загрузите этот пакет https://github.com/asweigart/pyautogui . Это позволяет питону посылать ключевые штрихи. Возможно, вам придется сначала установить некоторые другие пакеты. Если вы устанавливаете PyAutoGUI из PyPI с помощью pip: у Windows нет зависимостей. Расширения Win32 не нужно устанавливать. Для OS X необходимо установить модуль pyobjc-core и pyobjc (в указанном порядке). Linux нуждается в установке модуля python3-xlib (или python-xlib для Python 2). Подушка должна быть установлена, и в Linux вам может потребоваться установить дополнительные библиотеки, чтобы убедиться, что PNG / JPEG Pillow работает правильно. См.:
  2. Установите комбинацию клавиш для очистки окна запуска в pycharm, как объясняется Тайлан Айдинли CMD + (или предпочтения Пихарма); Поиск: «очистить все»; Дважды щелкните -> Добавить сочетание клавиш (установите его в CTRL + L или что-нибудь еще) Наслаждайтесь этой новой горячей клавишей в вашей консоли Pycharm!
  3. Затем, если вы установили сочетание клавиш для «очистить все» до Command + L, используйте это в своем скрипте python
    import pyautogui
    pyautogui.hotkey('command', 'l')
    

Пример программы

Это очистит экран после того, как пользователь наберет вход.

EDIT: Если вы не фокусируетесь на окне инструмента, ваша четкая горячая клавиша не будет работать, вы можете это увидеть сами если вы попытаетесь нажимать горячую клавишу, когда будете сфокусированы, скажем, на редакторе, вы не очистите содержимое встроенных терминалов.

PyAutoGUI не имеет никакого способа напрямую фокусироваться на окнах, чтобы решить эту проблему, вы можете попробовать чтобы найти координату, в которой находится терминал запуска, а затем отправить левый щелчок, чтобы сфокусироваться, если вы еще не знаете координаты, где вы можете щелкнуть мышью, вы можете найти его со следующим кодом:

import pyautogui
from time import sleep
sleep(2)
print(pyautogui.position())

Пример вывода:

(2799, 575)

и теперь фактический код:

import pyautogui

while True:
    input_1 = input("?")
    print(input_1)
    pyautogui.click(x=2799, y=575)
    pyautogui.hotkey('command', 'l')
2
ответ дан A. Smoliak 22 August 2018 в 21:39
поделиться

В Pycharm:

  1. CMD + , (или предпочтения Пихарма);
  2. Поиск: " очистить все ";
  3. Двойной щелчок -> Добавление сочетания клавиш (установите его на CTRL + L или что-нибудь еще)
  4. Наслаждайтесь этой новой горячей клавишей в вашей консоли Pycharm!
6
ответ дан Taylan Aydinli 22 August 2018 в 21:39
поделиться
  • 1
    Не забудьте щелкнуть содержимое на консоли при использовании ключа. – You Shengwei 16 January 2017 в 17:10
Другие вопросы по тегам:

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