os.system()不起作用[Ubuntu 16.04],[Python 3.5.2]
问题描述:
下面是代码。当我在PyCharm(我的编辑器)中运行它时,一切正常,但是当我在终端中运行python脚本,然后输入数字时,除“Finished !!”外没有任何反应。打印。是的,我正在运行sudo
的脚本。os.system()不起作用[Ubuntu 16.04],[Python 3.5.2]
# -*- coding: utf-8 -*-
#!usr/bin/python
import os
import time
print('==========================')
print('==========================')
print('1. Update System')
print('2. Check IP-Address')
print('3. Train')
print('==========================')
print('==========================')
Nummer = input('What do you want to do?: ')
def nummer1():
if Nummer == '1':
print('System-Update is starting...')
time.sleep(2)
os.system("gnome-terminal -e 'sudo apt-get update'")
nummer1()
def nummer2():
if Nummer == '2':
print('Checking IP-Address...')
time.sleep(2)
os.system("gnome-terminal -e 'sudo ifconfig'")
nummer2()
def nummer3():
if Nummer == '3':
os.system("gnome-terminal -e 'sudo apt-get install sl && sl'")
time.sleep(1)
print('Get ready...')
time.sleep(2)
nummer3()
print('Finished!!')
答
使用蟒2你正在输入作为整数所以它的失败。
更改您的输入线:
Nummer = str(input('What do you want to do?: '))
OR
Nummer = raw_input('What do you want to do?: ')
但是,如果你运行你的代码,这样
python3 fileName.py
我吨将起作用。
我的猜测是,你从终端运行Python 2并且'input()'被计算为一个整数,所以你的if语句失败 –
我在哪里可以看到这个以及如何改变它? – kolololol
将输入显式转换为'str'或'int'并进行适当的比较。 –