【发布时间】:2021-10-22 00:04:33
【问题描述】:
我创建了以下脚本
#!/bin/bash
import subprocess
import sys
from datetime import datetime
from curtsies import Input
locale = datetime.now()
locale = locale.strftime("%m %Y")
locale = locale.split(' ')
MONTH = locale[0]
YEAR = locale[1]
subprocess.Popen(['clear'], shell=False)
subprocess.Popen(['cal', MONTH, YEAR], shell=False)
while True:
with Input(keynames='curses') as input_generator:
for key in input_generator:
if (key is '') or (key is 'q'):
sys.exit()
elif (key is 'KEY_UP') or (key is 'w'):
YEAR = str(int(YEAR)+1)
elif (key is 'KEY_DOWN') or (key is 's'):
YEAR = str(int(YEAR)-1)
elif (key is 'KEY_RIGHT') or (key is 'd'):
if (MONTH == '12'):
MONTH = '1'
YEAR = str(int(YEAR)+1)
else:
MONTH = str(int(MONTH)+1)
elif (key is 'KEY_LEFT') or (key is 'a'):
if (MONTH == '1'):
MONTH = '12'
YEAR = str(int(YEAR)-1)
else:
MONTH = str(int(MONTH)-1)
subprocess.Popen(['clear'], shell=False)
subprocess.Popen(['cal', MONTH, YEAR], shell=False)
如果我打开终端窗口并输入 python3 /path/to/file.py,它可以完美运行 但是,我很贪心,我想用一个命令打开它来创建一个运行该东西的下拉终端。 我尝试了以下命令:
xfce4-terminal --geometry 135x40-0+0 --command "python3 ~/.config/polybar/polybar-scripts/calendar-polybar.py" --hide-menubar --hide-toolbar --hide-scrollbar --hide-borders --drop-down --title Calendar
但它会立即打开和关闭。由于我的脚本上有一个无限循环,我认为它会保持打开状态,直到我强制关闭它或简单地按下转义键,但终端正在对我耍花招。我做错了什么?
【问题讨论】:
标签: python python-3.x terminal script xfce