我正在尝试在终端中执行 Python 脚本。
在 Python shell 中运行它会做它应该做的事情。它将运行而不会出错,但在终端中执行时没有任何反应。
一旦弄清楚这一点,是否有更有用的方法让程序将“timeAide”和“cancelSleep”字符串输入终端并输入Mac密码。我计划导入 'pyautogui' 来完成所有这些部分,但有没有更好的东西。
#!/usr/bin/env python
#sleepAide: user enters a number to put the computer to sleep
#command for sleep: sudo systemsetup -setcomputersleep 60
#command to cancel sleep: sudo systemsetup -setcomputersleep Never .
#check python version in terminal: python --version
#shebang line: '#!/usr/bin/python3.6'
#type " 'nano' nameFile.py" in terminal to view code Ex: 'nano namefile.py'
class Sleep(object):
def __init__(self):
self.sleepAide()
def sleepAide(time):
timeAide = 'sudo systemsetup -setcomputersleep '
cancelSleep = 'sudo systemsetup -setcomputersleep Never'
time = int(input('In how many minutes would you like to sleep? '))
if time > 0:
print(timeAide+' '+str(time))
elif time == -1:
print(cancelSleep)
您只是在声明一个类和方法。您需要实例化__init__
要调用的函数的类。您可以通过在脚本底部的类定义之外添加以下内容来实现:
Sleep()
还有一些其他问题。
self.sleepAide()
不带time
参数地调用,但看起来您不需要它,因为您通过以下方式收集它input
self
的sleepAide
定义,但尝试调用它,就好像它是一个实例方法我在下面做了一些更改以获得一个工作示例:
class Sleep(object):
def __init__(self):
self.sleepAide()
def sleepAide(self):
timeAide = 'sudo systemsetup -setcomputersleep '
cancelSleep = 'sudo systemsetup -setcomputersleep Never'
time = int(input('In how many minutes would you like to sleep? '))
if time > 0:
print(timeAide+' '+str(time))
elif time == -1:
print(cancelSleep)
Sleep()
使用以下命令运行:
$ python test.py
In how many minutes would you like to sleep? 10
sudo systemsetup -setcomputersleep 10
请记住,该程序实际上并不执行系统命令,它只是打印到控制台。如果您想执行命令,这篇文章可以提供帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句