В функциональных языках, создавая дочерние процессы и делать что-либо подобное приведенному не чистая функция имеет побочные эффекты
В функциональных языках есть нечистые функции Aswell но будет пытаться минимизировать код в функции нечистых и сделать тот факт, что функция нечеткая. Вы можете прочитать о IO monads
Учитывая Haskell является наиболее функциональным языком, например, это явно говорит, что это имеет побочные эффекты от его подписи/заявления для createProcess
функции
createProcess :: CreateProcess -> IO (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
В IO явно говорит, что имеет побочные эффекты
Если вам просто нужно избегать старта, вы можете сделать это следующим образом:
import os
import subprocess
FNULL = open(os.devnull, 'w')
def ls(directory):
return subprocess.call(['ls',directory], stdout=FNULL, stderr=FNULL)
Что вы хотите здесь как неизменное? –
Извините, я сделал путаницу. Я обновил вопрос. –
Побочным эффектом является печать содержимого каталога? –