在Mac终端上运行Python脚本
问题描述:
我试图在终端中执行Python脚本。在Mac终端上运行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
- 收集它你不会在
sleepAide
定义通过self
但尝试调用它,就好像它是一个实例方法
我做了以下几个变化以获得工作示例:
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
请记住,这个程序实际上并不执行系统命令,它只是打印到控制台。如果您正在执行命令,this post可以提供帮助。
那是整个脚本?与每个字符和**缩进**相同在您的文件? – jacoblaw