Межплатформенный подпроцесс со скрытым окном

Подход SVG явно хорош! Но я попытался сделать это с помощью CSS! Каким-то образом мне удалось получить его до здесь ...

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
body {
  background: url('http://lorempicsum.com/up/627/300/4') no-repeat top left;
  background-size: cover;
  padding-top: 10%;
}
.parent {
  margin: 0 auto;
  display: table;
  width: 400px;
  height: 230px;
  text-align: center;
  table-layout: fixed;
}
.orange {
  display: table-cell;
  vertical-align: middle;
  background: transparent;
  width: 100%;
  height: 230px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  border-left: 137px solid orange;
  border-right: 137px solid orange;
}
.one,
.two {
  position: relative;
  width: 126px;
  height: auto;
  display: block;
  border-left: 28px solid orange;
  border-right: 28px solid orange;
  margin: 0 auto;
}
.one {
  border-top: 60px solid transparent;
  border-bottom: 60px solid orange;
}
.two {
  border-top: 60px solid orange;
  border-bottom: 60px solid transparent;
}
<div class="parent">
  <div class="orange">
    <div class="two"></div>
    <div class="one"></div>
  </div>
</div>
37
задан endolith 19 June 2009 в 04:52
поделиться

4 ответа

Вы можете сократить одну строчку :)

startupinfo = None
if os.name == 'nt':
    startupinfo = subprocess.STARTUPINFO()
    startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
proc = subprocess.Popen(command, startupinfo=startupinfo)
37
ответ дан 27 November 2019 в 04:51
поделиться

Я не уверен, что вы можете сделать что-то проще, чем то, что вы сделали. Вы говорите об оптимизации, может быть, 5 строк кода. За деньги я бы просто продолжил свой проект и принял это как результат кроссплатформенной разработки. Если вы делаете это часто, создайте специализированный класс или функцию для инкапсуляции логики и импортируйте ее.

4
ответ дан 27 November 2019 в 04:51
поделиться

Вы можете превратить свой код в:

params = dict()

if os.name == 'nt':
    startupinfo = subprocess.STARTUPINFO()
    startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
    params['startupinfo'] = startupinfo

proc = subprocess.Popen(command, **params)

, но это ненамного лучше.

1
ответ дан 27 November 2019 в 04:51
поделиться

Небольшое замечание: для Python 2.7 я должен использовать subprocess._subprocess.STARTF_USESHOWWINDOW вместо subprocess.STARTF_USESHOWWINDOW.

12
ответ дан 27 November 2019 в 04:51
поделиться
Другие вопросы по тегам:

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