Командният ред в скрипта на python дава синтактична грешка

Опитвам се да стартирам прост команден ред от python. Докато кодът работи в бележника на Jupyter, той хвърля синтактична грешка в Spyder.

Странно, ако стартирам същия команден ред в test() по-долу в конзолата, той се изпълнява, но скриптът показва грешка.

По-долу е моят код. TIA!

def test():
    !start excel

test()

person pranav sankpal    schedule 27.04.2018    source източник
comment
!start excel не е валиден python. Jupyter има speclal escape код !, за да може да изпълнява естествени команди. Но това не е валиден python   -  person Jean-François Fabre    schedule 27.04.2018


Отговори (1)


!start excel работи в бележника на Jupyter, защото обвивката на Jupyter може да разбере префикса ! и да изпълни собствена (Windows) команда.

!: за изпълнение на командна обвивка. Например, ! пип замразяване | grep pandas, за да видите коя версия на pandas е инсталирана.

Но !start excel не е валиден синтаксис на Python. Имате нужда от точния еквивалент на python (поне за Windows):

import os
os.startfile("excel")
person Jean-François Fabre    schedule 27.04.2018