<?php
$data = ['one', 'two', 'three'];
$result = array_reduce($data, function($carry, $item){
$carry['out'] .= $carry['i'] . ') '. $item . '; ';
$carry['i']++;
return $carry;
}, ['out' => '', 'i' => 1] )['out'];
echo $result; // 1) one; 2) two; 3) three;
В то время как Popen
ответы разумны для общего случая, я рекомендовал бы win32api
для этого конкретного случая, если Вы хотите сделать что-то полезное с ним:
Это проходит примерно так:
from win32com.client import Dispatch
xl = Dispatch('Excel.Application')
wb = xl.Workbooks.Open('C:\\Documents and Settings\\GradeBook.xls')
xl.Visible = True # optional: if you want to see the spreadsheet
Взятый из списка рассылки отправляют, но существует много примеров вокруг.
или
os.system("start excel.exe <path/to/file>")
(предположение, это находится в пути, и Вы находитесь на окнах),
и также в Windows, просто start <filename>
работы, также - если бы это уже - связанное расширение (поскольку xls был бы),
Модуль подпроцесса намеревается заменить несколько другой, более старые модули и функции, такие как:
.
import subprocess
process_one = subprocess.Popen(['gqview', '/home/toto/my_images'])
print process_one.pid
Мне нравится popen2 за способность контролировать процесс.
excelProcess = popen2.Popen4("start excel %s" % (excelFile))
status = excelProcess.wait()
http://www.python.org/doc/2.5.2/lib/module-popen2.html
Править: знайте, что вызов ожидает (), заблокируется до возвратов процесса. В зависимости от Вашего сценария это не может быть Вашим желаемым поведением.