在Mac tern上运行Python脚本

2024-10-01 07:15:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在终端中执行Python脚本。在

在pythonshell中运行时,它会做它应该做的事情。它将无错误地运行,但在终端中执行时不会发生任何事情。在

一旦这一点得到解决,是否有更有用的方法让程序在终端中输入“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)

Tags: to方法终端bintimeusrsudosleep
1条回答
网友
1楼 · 发布于 2024-10-01 07:15:37

您只声明了一个类和方法。您需要实例化要调用的__init__函数的类。可以通过在脚本底部、类定义之外添加以下内容来完成此操作:

Sleep()

还有几个问题。在

  • 您在没有time参数的情况下调用self.sleepAide(),但是看起来您不需要它,因为您是通过input收集它的
  • 不要在sleepAide定义中传递self,而是尝试将其当作实例方法调用

为了得到一个有效的例子,我在下面做了一些修改:

^{pr2}$

运行以下命令:

$ python test.py
In how many minutes would you like to sleep? 10
sudo systemsetup -setcomputersleep  10

请记住,这个程序实际上并不执行系统命令,它只是打印到控制台。如果您希望执行这些命令,this post可以帮助您。在

相关问题 更多 >