Я ничего не знаю о внутренних интерпретаторах Python-интерпретатора (и я тоже не являюсь экспертом в компиляторах и интерпретаторах), поэтому не обвиняйте меня, если я предлагаю что-либо недоступное или невозможное.
При условии, что python объекты меняются. Я думаю, что это следует учитывать при разработке аргументов аргументов по умолчанию. Когда вы создаете экземпляр списка:
a = []
вы ожидаете получить новый список, на который ссылается a .
Почему a = [] в
def x(a=[]):
создать новый список по определению функции, а не по вызову? Это точно так же, как вы спрашиваете: «Если пользователь не предоставляет аргумент, тогда создает экземпляр нового списка и использует его, как если бы он был создан вызывающим». Я думаю, что это неоднозначно:
def x(a=datetime.datetime.now()):
пользователь, вы хотите a по умолчанию использовать дату и время, соответствующее тому, когда вы определяете или выполняете x ? В этом случае, как и в предыдущем, я буду придерживаться такого же поведения, как если бы аргумент по умолчанию «назначение» был первой инструкцией функции (datetime.now (), вызванной вызовом функции). С другой стороны, если пользователь хотел отобразить время отображения, он мог бы написать:
b = datetime.datetime.now()
def x(a=b):
Я знаю, я знаю: это закрытие. В качестве альтернативы Python может предоставить ключевое слово для привязки определения времени:
def x(static a=b):
Я нашел Awesomium Точно ли , что мне нужно! «Рамка веб-браузера без окон». Brilliant.
В основном вы пытаетесь делать вещи, которые не предназначены для этого.
Вы создаете HTML + Javascript, чтобы браузер мог его нарисовать. Вы пишете C #, чтобы включить любые действия на стороне сервера.
Создание HTML + Javascript на сервере для загрузки его в браузер на сервере , чтобы иметь возможность сохранять звуки PNG.
Думали ли вы о других подходах, таких как создание изображения с использованием компонента C # на стороне сервера? В основном, почему вам действительно нужно сохранять его на сервере? Может кто-нибудь может предложить лучшее решение?
См. Создание данных изображения на холсте HTML на стороне сервера для решения PhantomJs (аналогично Node.js, но другого, одного файла, без установки)
Вы можете использовать Watin. Создайте свою страницу, затем используйте Watin api, чтобы захватить сгенерированную страницу.
http://fwdnug.com/blogs/ddodgen/archive/2008/06/19/watin-api-capturewebpagetofile.aspx