一直在尝试让用户键入分钟,以便Python可以将其转换为秒以用于命令行 minute=60 关机=(“关机”) 注销=(“注销”) 重启=(“重启”) 导入时间 时间。睡眠(1) option=input(“您今天想做什么?\n关机\n重新启动\n注销\n”) 如果选项==关闭: 时间。睡眠(1) 打印(“您已选择要”,关机) 睡眠时间(0.5) time_shutdown=输入(“机器关闭前需要多长时间?(分钟)”) 数字=整数(停机时间) #所以在这一点上,我想把分钟转换成秒 分钟=数字*分钟 #因此,这应该将分钟转换为秒 导入子流程 子进程调用([“shutdown.exe”、“-f”、“-s”、“-t”,分钟]) 打印(“您的命令已被处理…”) 时间。睡眠(1.5) 数字=整数(停机时间) 分钟=数字/分钟 打印(“您的机器将在,、分钟,、分钟后关闭”) 回溯(最近一次呼叫最后一次): 文件“C:\Python34\test.py”,第23行,在 子进程调用([“shutdown.exe”、“-f”、“-s”、“-t”,分钟]) 调用中第537行的文件“C:\Python34\lib\subprocess.py” 将Popen(*popenargs,**kwargs)作为p: 文件“C:\Python34\lib\subprocess.py”,第858行,在\uuu init中__ 恢复信号,启动新会话) 文件“C:\Python34\lib\subprocess.py”,第1085行,在执行子进程中 args=list2cmdline(args) 文件“C:\Python34\lib\subprocess.py”,第663行,在list2cmdline中 needquote=(“”在arg中)或(“\t”在arg中)或非arg TypeError:类型为“int”的参数不可编辑

一直在尝试让用户键入分钟,以便Python可以将其转换为秒以用于命令行 minute=60 关机=(“关机”) 注销=(“注销”) 重启=(“重启”) 导入时间 时间。睡眠(1) option=input(“您今天想做什么?\n关机\n重新启动\n注销\n”) 如果选项==关闭: 时间。睡眠(1) 打印(“您已选择要”,关机) 睡眠时间(0.5) time_shutdown=输入(“机器关闭前需要多长时间?(分钟)”) 数字=整数(停机时间) #所以在这一点上,我想把分钟转换成秒 分钟=数字*分钟 #因此,这应该将分钟转换为秒 导入子流程 子进程调用([“shutdown.exe”、“-f”、“-s”、“-t”,分钟]) 打印(“您的命令已被处理…”) 时间。睡眠(1.5) 数字=整数(停机时间) 分钟=数字/分钟 打印(“您的机器将在,、分钟,、分钟后关闭”) 回溯(最近一次呼叫最后一次): 文件“C:\Python34\test.py”,第23行,在 子进程调用([“shutdown.exe”、“-f”、“-s”、“-t”,分钟]) 调用中第537行的文件“C:\Python34\lib\subprocess.py” 将Popen(*popenargs,**kwargs)作为p: 文件“C:\Python34\lib\subprocess.py”,第858行,在\uuu init中__ 恢复信号,启动新会话) 文件“C:\Python34\lib\subprocess.py”,第1085行,在执行子进程中 args=list2cmdline(args) 文件“C:\Python34\lib\subprocess.py”,第663行,在list2cmdline中 needquote=(“”在arg中)或(“\t”在arg中)或非arg TypeError:类型为“int”的参数不可编辑,python,Python,我渴望得到一些关于如何让它发挥作用的建议,因为我一整天都在努力想办法。我希望我没有错过一些我应该放进去的愚蠢的东西 有人能帮我吗?您的错误似乎是由子进程引起的。调用尝试将分钟数参数解释为字符串。试着改变 minute = 60 shutdown = ("Shutdown") log_off = ("Log Off") restart = ("Restart") import time time.sleep(1) option = input("What would you like to do

我渴望得到一些关于如何让它发挥作用的建议,因为我一整天都在努力想办法。我希望我没有错过一些我应该放进去的愚蠢的东西


有人能帮我吗?

您的错误似乎是由
子进程引起的。调用
尝试将
分钟数
参数解释为字符串。试着改变

minute = 60
shutdown = ("Shutdown")
log_off = ("Log Off")
restart = ("Restart")
import time
time.sleep(1)
option = input("What would you like to do today?\n Shutdown \n Restart \n Log Off\n")
if option == shutdown:
    time.sleep(1)
    print("You have selected to", shutdown)
    time.sleep(0.5)
    time_shutdown = input("How long do you want until the machine shuts down?(in minutes)")
    number = int(time_shutdown)
    #So at this point I want the minutes converted to seconds
    minutes = number * minute
    #So this should then convert the minutes into seconds
    import subprocess
    subprocess.call(["shutdown.exe", "-f", "-s", "-t", minutes])
    print("Your command has been processed...")
    time.sleep(1.5)
    number = int(time_shutdown)
    minutes = number / minute
    print("Your machine will close down in", minutes,"minutes.")


Traceback (most recent call last):
File "C:\Python34\test.py", line 23, in <module>
subprocess.call(["shutdown.exe", "-f", "-s", "-t", minutes])
File "C:\Python34\lib\subprocess.py", line 537, in call
with Popen(*popenargs, **kwargs) as p:
File "C:\Python34\lib\subprocess.py", line 858, in __init__
restore_signals, start_new_session)
File "C:\Python34\lib\subprocess.py", line 1085, in _execute_child
args = list2cmdline(args)
File "C:\Python34\lib\subprocess.py", line 663, in list2cmdline
needquote = (" " in arg) or ("\t" in arg) or not arg
TypeError: argument of type 'int' is not iterable

subprocess.call(["shutdown.exe", "-f", "-s", "-t", minutes])
subprocess.call(["shutdown.exe", "-f", "-s", "-t", str(minutes)])