• 关于

    python执行js

    的搜索结果

问题

请问MaxCompute > 快速开始 > 编写 UDF ,如果用java编写UDF,能不能把调用python或者js的jar也放到我这个UDFjar中,实现我的代码调用python文件执行python中的算法。

祁同伟 2019-12-01 20:18:39 1826 浏览量 回答数 1

回答

pyv8 试试,pyv8对js的解析兼容可能不好,要是不行你可以换个思路去模拟登录。先用python调用浏览器,浏览器可以很好的解析js 登录之后拿到cookie 然后在回到urllib2 等库 继续进行你要的操作,至于python调用浏览器登录 方案比较多 selenium 、phantomjs......phantomjs 是一个基于webkit的浏览器接口,python可以很方便的调用 ######不是很懂JS,看这个JS应该是在用RSA算法去加密,我在想如果能用python同样按照这个算法加密密码之后再post应该就可以搞定,就是不知道怎么去模拟。######刚才回复没有成功。现在遇到和楼主当年一样的问题,请问方面楼主如何解决的这个问题?还请指教,多谢######没解决,用python代码实在难以写这个类库,这个js代码目前我还读不懂。我放弃当时这个方案了。你非要硬着头皮搞下去的话,可以考虑phantomjs的方案,让浏览器帮你执行这个js

kun坤 2020-06-11 09:41:46 0 浏览量 回答数 0

问题

python3调用javascript异常?报错

爱吃鱼的程序员 2020-06-07 16:21:22 0 浏览量 回答数 1

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

回答

[python] view plain copyimport execjs 执行本地的js def get_js(): # f = open("D:/WorkSpace/MyWorkSpace/jsdemo/js/des_rsa.js",'r',encoding='UTF-8') f = open("./js/des_rsa.js", 'r', encoding='UTF-8') line = f.readline() htmlstr = '' while line: htmlstr = htmlstr + line line = f.readline() return htmlstr jsstr = get_js() ctx = execjs.compile(jsstr) print(ctx.call('enString','123456')) 上述代码,使用了 PyExecJS 库,仓库地址:https://pypi.python.org/pypi/PyExecJS1,首先通过,get_js方法,读取本地的 des_rsa.js 文件。2,调用 execjs.compile() 编译并加载 js 文件内容。3,使用call()调用js中的方法,具体方法如下:[javascript] view plain copyfunction enString(data){ var key1 = "YHXWWLKJYXGS"; var key2 = "ZFCHHYXFL10C"; var key3 = "DES"; var enchex = strEnc(data,key1,key2,key3); return enchex; } 其中第一个参数“enString”为方法名,第二个参数开始,为js方法所需的参数

xuning715 2019-12-02 01:10:41 0 浏览量 回答数 0

问题

在Python中执行RPC的当前选择是什么?

祖安文状元 2020-02-24 09:56:20 29 浏览量 回答数 1

问题

linux下安装node.js报错,求大神解决

杨冬芳 2019-12-01 20:20:46 1224 浏览量 回答数 1

问题

【精品问答】python百大常见问题与答案详解

祖安文状元 2020-02-24 17:56:41 363 浏览量 回答数 1

回答

php 使用socket告知Python,可以在socket上声明是及时推送还是延迟推送######哦?愿闻其详 那要是很多用户同时并发呢######system 调用外部程序是一种办法######@民工MG php里能用system函数?######回复 @隐形人 : system('commond');######PHP里怎么调用呢######回复 @隐形人 : 并发可以采用tornado这个框架(里面有个tcpserver模块),另外还有很多开源服务器框架,你可以网上搜搜,另外,受制于gil,Python无法利用多核,如果这些框架是单进程的,你要使用多核的话,多开几个进程(进程可以解决只能利用单核的问题)。当然,你可以自己实现socket服务器,一般多并发的可以多线程,或者可以多进程(这点我没搞过,而且貌似只有linux支持),当然也可以考虑单线程,使用非阻塞,异步io。方案很多######搞个python socket服务器,把数据发送到socket server,让socket server处理######回复 @MeiKai : 那现在的问题是 怎么把PHP接收到的数据传递给python呢######回复 @隐形人 : 可以是可以,但这样就需要python web框架来接收表单数据,你把php作为前端了,现在又把python作为前端了,比较乱,建议用php接收action数据,然后传给python,否则又要部署python web开发环境了######网页表单里的action里能把数据提交给python程序嘛######python监听个Socket,接受到请求就执行相应Python程序,PHP层只需要向这个Socket发送数据即可,至于你说的定时,可以用Python写个定时执行脚本即可######回复 @民工MG : Socket 仅作为任务接收,担心个P,像@netstu所的,直接将任务抛到队列,让守护脚本去执行,这担心那担心算了别做了######回复 @隐形人 : 你有多少?######如果有很多用户同时向这个socket发送数据呢######消息队列,service ,rpc, 等都可以,不要直接通讯######额 这个有点深了######我不知道啊 项目还没上线呢 我们直接用exec调用python了######建议使用对列来解决。######愿闻其详######这个问题我也问过。回答是用socket 不知道能不能直接用go语言或者js做后端处理并发

爱吃鱼的程序员 2020-06-05 14:29:37 0 浏览量 回答数 0

问题

【python学习全家桶】263道python热门问题,阿里百位技术专家答疑解惑

管理贝贝 2019-12-01 20:07:21 7217 浏览量 回答数 2

问题

Python调用执行js文件方法的库用哪个好呀

珍宝珠 2019-12-01 19:59:00 42 浏览量 回答数 1

回答

我有偏见(是一名Python专家,但对Java却很生疏),但我认为GAE的Python运行时目前比Java运行时更先进和更好地开发-毕竟前者还有一年多的开发和成熟时间。 事情的进展当然很难预测-Java方面的需求可能会更强(尤其是因为它不仅与Java有关,而且其他语言也位于JVM之上,因此这是运行方式,例如PHP或App Engine上的Ruby代码);但是,Python App Engine团队的确具有加入Python的发明者,非常强大的工程师Guido van Rossum的优势。 在灵活性方面,如前所述,Java引擎确实提供了运行由不同语言(不仅是Java)制作的JVM字节码的可能性-如果您在一家多语言商店中,那肯定是很大的。反之亦然,如果您讨厌Javascript但必须在用户的浏览器中执行一些代码,则Java的GWT(从Java级编码为您生成Javascript)比Python端的替代方法更丰富和更先进(实际上,如果您选择Python,您将为此自己编写一些JS,而如果您选择Java GWT,则如果您讨厌编写JS,则可以使用它。 就库而言,这几乎是一种洗礼- JVM受到足够的限制(没有线程,没有自定义类加载器,没有JNI,没有关系数据库),以至于与现有Python相比,现有Java库的简单重用受到了更多的干扰。类似地,Python运行时的类似限制也限制了库。 就性能而言,尽管您应该以自己的任务为基准,但我认为这是一次洗礼-不要依赖高度优化的基于JIT的JVM实现的性能,因为它们降低了启动时间和内存占用,因为应用引擎环境是非常不同的(启动成本将经常支付,因为您的应用程序实例被启动,停止,移动到其他主机等)对您来说都是透明的-与Python相比,使用Python运行时环境这些事件通常要便宜得多。 叹为观止,XPath / XSLT的情况(实际上是委婉的...)并不是两边都完美无缺,尽管我认为这在JVM中可能会稍微好一些(显然,可以使Saxon的大部分子集可以运行) ,但要小心)。我认为值得在Appengine问题页面上打开标题,标题中包含XPath和XSLT;现在只有问题要求特定的库,这是近视的:我真的不在乎如何实现良好的XPath / XSLT,只要适用于Python和/或Java。(特定的库可能会简化现有代码的迁移,但这比能够以某种方式执行“快速应用XSLT转换”这样的任务要重要!)。我知道如果措辞得当(尤其是以与语言无关的方式),我会盯上这样的问题。 最后但并非最不重要的一点:请记住,您可以拥有不同版本的应用程序(使用相同的数据存储),其中一些版本是通过Python运行时实现的,某些版本是通过Java运行时实现的,并且您可以访问不同于“默认/活动”的版本”带有明确的网址。因此,您可以同时使用Python 和 Java代码(在应用的不同版本中)使用和修改相同的数据存储,从而为您提供更大的灵活性(尽管只有一个拥有“ nice” URL,例如foobar.appspot.com)我想这可能仅对交互式用户在浏览器上的访问很重要;-)。

祖安文状元 2020-02-22 15:31:57 0 浏览量 回答数 0

回答

OSC 第 128 期高手问答 -- Python3 开发实战 @壁_花 @idisikx @hell0cat @DarkAngel @北京老爷们儿      恭喜以上五位网友或获得《Python Web开发实战》图书一本  请私信 @博文视点   告知快递信息(格式:姓名+电话+地址+邮编号码)!  ######@dongwm :不知作者有没有涉及过大数据方向的?我看部分大数据相关的都要用到python这是为什么?Hadoop整个生态圈都是Java的,python的定位是什么?######@dongwm :其实我是一个狂热的Python爱好者,但是还是想问: 用Python来进行Web开发,与它的其他竞争者相比,有什么优势呢?比如,与Ruby On Rails相比,它能更敏捷(快速)地开发,用写尽量少的代码来完成任务吗?与Node.js和Golang相比,它在支持高并发、多线程、执行性能等方面有什么优势吗?如果一些性能方面的优化可以通过编写C扩展模块,或者通过cffi、Boost.Python、Cython等方式进行优化,Node.js、Ruby等同样可以做到。一句话概括上面的问题就是:是什么原因吸引我们使用Python来进行Web开发呢?######@dongwm : 按照“没有银弹”一说,python应该也有自己的适用范围吧,是不是比较适用于机器学习,不适合于web开发呢?######Python被称为「胶水语言」,虽然没有「统治」哪个领域,但是基本上个个领域都把手伸了进去。 机器学习我不熟不敢妄谈是不是更合适。我只能说,Python很适合web开发######使用豆瓣很多年,很喜欢豆瓣的风格。之前一直是在网页端浏览,后来又到了手机app端。我总体感觉豆瓣的进步很快。我想问的问题是,python web一直作为豆瓣的开发首选,是因为什么?还有关于豆瓣的权限模块的设计时,python web发挥了什么优势。作为手机端app的开发,python web会起到什么作用吗?######回复 @机器猫123 : 会的。也许不会开源,但是酱厂里面确实有很多不错的实现######回复 @dongwm : 未来豆瓣会继续用python web衍生开发新的产品吗?######回复 @dongwm : 谢谢老师的回答。######豆瓣选择Python,其实是公司和语言的风格很相似的缘故吧。我们做事喜欢优雅,清晰,高效,这这好也是Python希望的。 豆瓣的基础设施基本都是使用Python完成,包含权限部分,但是Python web和权限模块设计感觉没啥直接的关系,就是抽出来的库和使用它的关系,我也没懂有什么优势或者劣势。 豆瓣app的API后端是使用PythonWeb完成的###### 引用来自“DarkAngel”的评论 @dongwm :其实我是一个狂热的Python爱好者,但是还是想问: 用Python来进行Web开发,与它的其他竞争者相比,有什么优势呢?比如,与Ruby On Rails相比,它能更敏捷(快速)地开发,用写尽量少的代码来完成任务吗?与Node.js和Golang相比,它在支持高并发、多线程、执行性能等方面有什么优势吗?如果一些性能方面的优化可以通过编写C扩展模块,或者通过cffi、Boost.Python、Cython等方式进行优化,Node.js、Ruby等同样可以做到。一句话概括上面的问题就是:是什么原因吸引我们使用Python来进行Web开发呢? 引用来自“dongwm”的评论ROR我倒没有实际的用过,不敢妄言。Python最大的优势是他是一个「胶水」语言,在工作中的各个方向都能看到Python对应的库的身影,学会Python会让你的路比较宽,但是用ruby,可能在我印象里面就是Web开发比较有名。我现在还没有发现做Web开发有比Python效率高的方式。 其实很多人都担心Python的执行效率,然而其实绝大多数情况Python足够快,不快的话要先看看自己是不是用得不对或者不好。现在硬件资源很廉价,除非上升到BAT那种规模,否者基本还没有到达讨论语言瓶颈的问题。现在豆瓣绝大多数基础设施都是使用Python开发的。在Web开发中,我们很少通过写扩展的方式提高性能,其实编程语言一般都不是网站性能的瓶颈,还可以通过其他方式解决。 之前学ROR是因为老师要求用这个,我没有用Python进行Web开发的经验,稍微有一点了解的也只是Flask或者Falcon这种轻量级的,感觉能够快速开发小巧的应用,但是不知道有哪个特别出名的应用或者网站系统是由Python开发的(比如WordPress和Discuz用的PHP,Gitlab用的Ruby,OSC好像用的是Java吧)。Python确实是一种比较万能的语言,但有点万金油却不够专精的感觉。比如在科学计算方面很流行,但是论效率不如Julia,论支持库的丰富和使用广泛度不如Matlab(特别是学校里面,教授做研究或者教学一般都会用Matlab);在系统管理方面看,能用Python干的脚本化工作,用shell或者perl基本上都能干,而且需要写的代码行数说不定更少。如果说用Python进行Web开发效率高,是有特指某一个框架吗,还是泛指? 我在写程序时首先会想到用Python,是因为喜欢tial-and-error这种方式,能够在正式写代码前确认想法能不能实现,能够让我有兴趣和信心继续下去。但真要说起来,能够提供REPL特性的语言也不少。 Python的执行效率貌似永远是Python热门的讨论话题,比如GIL的存在必须要用特殊的方式来优化。像gevent和Tornado之类的存在也适用于高并发的网络连接(不过Python在这方面的性能不一定是最高的,没有看过相关的测试)。再说Python的实现,除了最出名的CPython和PyPy之外,甚至还有为嵌入式设备开发的MicroPython(这也在另一方面说明了Python的万能性)。Dropbox的技术栈中也使用了Python,并且有开发面向性能的Python实现pyston,此外还有Stackless Python(听名字感觉很厉害,虽然其实我并没有去了解这到底是什么),但它家也在用Golang和Rust开发高性能的东西。那么,豆瓣的基础设施实现中,用Python开发的应用效率如何?也有使用除了CPython之外的实现来进行优化吗?(我是不是扯得有点偏题了?) ######回复 @dongwm : 那么用Python来开发Web,是否属于那种会带来这种优势的选择呢?或者有没有哪家公司通过把技术栈切换到Python而带来了这种进步?######回复 @dongwm : 以现在的硬件发展水平,基本上任何数量级的访问都可以通过硬件的堆砌获得支持。不过经常会看到新闻,比如某某公司将它的某某技术构架从XX语言切换到了YY语言,然后获得了性能提升、提高了稳定性、减少了部署的服务器等优势,(我记忆中有看到Twitter的新闻,PHP 7的新闻,还有一些其他的)。######豆瓣每天服务着千万级别的用户(抱歉不能说具体数字)的请求,绝大多数应用和基础设施都是Python实现的。所以应用效率不用担心。虽然可以使用C/C++的扩展提高运行效率,但是我接触的场景里面很少。相当于写扩展的维护性和成本,大家更愿意从架构,算法等方面来解决。######嚯,你的问题好长。 进行Web开发效率高算是泛指,包含django和flask。效率高也体现在它们的第三方扩展和支持比较完善,基本能想到的都有对应的项目支持,这样少造了很多轮子。###### @dongwm :python的确很好,也很强大,我也一直在用,但我大都做的和web方面没有什么联系.而我对web方面挺感兴趣,但自学起来始终不得要领,进展有点慢,大神能否讲一讲web方面的学习经验,或者flask方面的心得.又或者推荐一些关于web好的学习资源.期待您的回答并致谢.###### @dongwm :了解Python基本知识,希望学习一门Python web框架学习后端开发。之前我对部分主流框架进行了一些了解:Django,Tornado,在知乎上有一个非常活跃的群体。在框架的选择问题上,只有最适合你自己、最适合你的团队的框架。编程语言选择也是一个道理,你的团队Python最熟就用Python好了,其实大部分人是没必要太关心框架的性能的,因为你开发的网站根本就是个小站,能上1万的IP的网站已经不多了,上10万的更是很少很少。在没有一定的访问量前谈性能其实是没有多大意义的,因为你的CPU和内存一直就闲着呢。而且语言和框架一般也不会是性能瓶颈,性能问题最常出现在数据库访问和文件读写上。 ######嗯 赞同你的观点。很多人在杞人忧天。先等活到有必要讨论语言的那一天,那时候早就有钱有人有时间,哪怕Python真的不满足,重构呗######@dongwm :Python确实越来越火了,知乎就是python做的,偶尔搞了一点,发现确实很高级,至少比java语言高级一些某些功能Java只需要写100行,而Python可能只要20行。做一些外维系统还是挺方便的,比如日志的提取等,之前学的是2.7版本,现在python3比之前的版本有哪些新特性呢? ######python 3是相当于站在Python2的肩膀上,摒弃了早年设计python 2的错误思想(所以有的地方向前不兼容),加了一些新的语法,比如asyncio,甚至type hint(我不喜欢)。 具体的内容可以看 https://docs.python.org/3/whatsnew/index.html。 总体上和Python 2区别不大。不用纠结Python 2/3###### @dongwm :初入门python,有c、java基础。再看《python基础教程(第二版)》。请问您有推荐的书籍吗?######我个人在知乎专栏写过一篇推荐书的文章 https://zhuanlan.zhihu.com/p/22198827。我建议有一些其他语言基础的同学好好地看看《Python学习手册》,如果你英语比较好,建议直接看原著。《Python基础教程》虽然是一个经典的入门教程,写作风格也相对轻松幽默,但是由于本书写作于2010年,书中有大量内容已经过时,所以不推荐! ========================== Python "RemoteError: Remote error: UnicodeEncodeError 'ascii' codec can't encode ch:报错 {   "traceback": "  File \"/opt/stackstorm/st2/lib/python2.7/site-packages/st2actions/container/base.py\", line 99, in _do_run\n    LOG.debug('Performing run for runner: %s' % (runner.runner_id), extra=extra)\n  File \"/opt/stackstorm/st2/lib/python2.7/site-packages/retrying.py\", line 49, in wrapped_f\n    def wrapped_f(*args, **kw):\n  File \"/opt/stackstorm/st2/lib/python2.7/site-packages/retrying.py\", line 206, in call\n    if not self.should_reject(attempt):\n  File \"/opt/stackstorm/st2/lib/python2.7/site-packages/retrying.py\", line 247, in get\n    else:\n  File \"/opt/stackstorm/st2/lib/python2.7/site-packages/retrying.py\", line 200, in call\n    try:\n  File \"/opt/stackstorm/runners/mistral_v2/mistral_v2.py\", line 219, in run\n    result = self.start(action_parameters=action_parameters)\n  File \"/opt/stackstorm/runners/mistral_v2/mistral_v2.py\", line 256, in start\n    **options)\n  File \"/opt/stackstorm/st2/lib/python2.7/site-packages/mistralclient/api/v2/executions.py\", line 56, in create\n    return self._create('/executions', data)\n  File \"/opt/stackstorm/st2/lib/python2.7/site-packages/mistralclient/api/base.py\", line 95, in _create\n    self._raise_api_exception(resp)\n  File \"/opt/stackstorm/st2/lib/python2.7/site-packages/mistralclient/api/base.py\", line 143, in _raise_api_exception\n    error_message=error_data)\n",         "error": "RemoteError: Remote error: UnicodeEncodeError 'ascii' codec can't encode character u'\\xae' in position 169: ordinal not in range(128)\n[u'Traceback (most recent call last):\\n', u'  File \"/opt/stackstorm/mistral/lib/python2.7/site-packages/oslo_messaging/rpc/server.py\", line 155, in _process_incoming\\n    failure = None\\n', u'  File \"/opt/stackstorm/mistral/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py\", line 222, in dispatch\\n    if hasattr(endpoint, method):\\n', u'  File \"/opt/stackstorm/mistral/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py\", line 192, in _do_dispatch\\n    new_args[argname] = self.serializer.deserialize_entity(ctxt, arg)\\n', u'  File \"/opt/stackstorm/mistral/lib/python2.7/site-packages/mistral/engine/engine_server.py\", line 98, in start_workflow\\n    (rpc_ctx, workflow_identifier, utils.cut(workflow_input),\\n', u'  File \"/opt/stackstorm/mistral/lib/python2.7/site-packages/mistral/utils/__init__.py\", line 284, in cut\\n    return cut_dict(data, length=length)\\n', u'  File \"/opt/stackstorm/mistral/lib/python2.7/site-packages/mistral/utils/__init__.py\", line 198, in cut_dict\\n    v = str(value)\\n', u\"UnicodeEncodeError: 'ascii' codec can't encode character u'\\\\xae' in position 169: ordinal not in range(128)\\n\"]." }

kun坤 2020-06-15 11:08:13 0 浏览量 回答数 0

回答

我们会根据用户需求不断拓展支持的语言种类。当前我们支持的编程语言请参考 编程语言列表,如果您的程序是用我们还未支持的语言实现的,您可以采用以下做法: 看看是否能方便的用我们支持的语言改写。Node.js,Python等语言包含了非常丰富的类库,开发效率很高。 将 C/C++ 等程序编译为可执行文件,通过fork等系统调用的方式运行可执行文件。 将 C/C++ 模块编译为shared library,在Python等语言中通过binding的方式调用。 下表总结了以上方法的优缺点: 构建方式 实施难度 性能损失 适用场景 重写逻辑 取决于逻辑复杂度 取决于语言以及具体应用场景 适用于逻辑不太复杂的场景 调用可执行文件 低 高 适合对延时不敏感的场景,例如异步后台文件处理等等 调用shared library 高 低 适合性能要求很高的场景 如果以上方法仍不能解决您的问题,请 联系我们。我们还可以为您定制其他方法。

1934890530796658 2020-03-27 18:00:33 0 浏览量 回答数 0

问题

Express JS等效于Python框架的装饰器模式

祖安文状元 2020-02-23 15:41:28 0 浏览量 回答数 1

回答

为此,我在瑞士的一家大型私人银行工作,在J2EE堆栈上编写Enterprise应用程序。 Python中有许多“生产就绪” Web框架。并且有很多大型的基于Python的网站。 就是说,我认为Python对于Enterprisy应用程序来说不是一个好的选择。它可以用作粘合语言或脚本语言(我们的部署脚本是Python)。对我而言,showstopper是向后兼容的(Python 3.x与Python 2.x并不向后兼容)。Python的理念似乎更具创新性,可以使语言更好,更流畅,并且不一定要支持10年前编写的程序。 在Web框架方面,我喜欢Django,但它肯定还太年轻,并且发展太快而无法在企业中使用。我对其他基于Python的框架没有太多经验。 如果要使用面向企业的框架,则必须使用企业堆栈(Java / .Net)。 另一方面,即使在Java世界中,也存在使用不那么精巧的框架的趋势。认为Spring vs EJB2或EJB3的权重比EJB2轻得多。或认为Flex(在我看来与企业框架相去甚远)在企业中越来越多地被使用。因此,如果您的企业具有足够的开放思想,可以使用Django,RoR或其他现代Web 2.0,进入社区,开放源代码,下一代,基于活动记录的框架,准备迈向未来……可能就没有那么长的时间了。 .. 最后,直接回答您的几点意见: 支持ORM /缓存/ ...:是的,但是大多数解决方案都基于活动记录,可以满足您可能要执行的90%的操作,但是绝对不如JPA / Hibernate完整/复杂 面向控件的UI:否,您将找不到标准,因此也将找不到第三方组件。您可能获得的最接近的是与jQuery或其他JS UI框架的集成 依赖注入:Spring到Python都有一个端口,由SpringSource维护。但是DI不在Python哲学中。相同的问题将通过函数,默认参数和闭包来解决。我们可能会认为Pythonic解决方案比Java方法更干净... 单元/集成测试:很好的支持,多种测试框架。但是,支持仍然不如Java,因为我们拥有大量围绕测试的工具。 良好的IDE支持:您可以为动态语言提供的支持数量存在技术限制,但至少Eclipse和Netbeans都对Python提供了强大的支持。 群集/模块化:群集将通过“不共享基础结构”和/或分布式缓存来解决。据我所知,还没有模块化的解决方案(就OSGI而言)。但是我会挑战说OSGI通常是解决我们企业中没有的问题的解决方案...

祖安文状元 2020-02-23 16:43:50 0 浏览量 回答数 0

回答

1、变量声明声明变量的时候,直接使用例如a = 1这样的方式即可。既不用像js语言那样使用一个通用的var或者let之类方式表示声明,也不需要像c++语言那样使用更严格的int或char方式进行声明。注意,变量声明的时候必须赋值,不然会报错。a = 1print(a) # 1122、变量类型常见类型:1、数字分为整数和浮点数,二者看起来一致,但实际还是有所差异的2、字符串一般的字符串,被单引号和双引号所包含。foo = 'a'print(foo) # a12如果是多行字符串,即一个字符串写在不同行上。那么则用三个引号包含在一起,不然会报错。a = '''abc'''print(a)abc1234567如果字符串不想被转义,那么在引号前面加r即可foo = r'anb'print(foo) # anb12如以上,如果不加r的话,那么a和b就不在同一行了。3、布尔值当然就是True或者False了。注意:True和False是大写的foo = Falseprint(foo) # False12布尔值会被运用于各种判断,假如是需要相反的条件,比如当前是True,要求Flase才执行,那么就用not True。4、空值没有undefined,没有null之类的东西,在Python里,空值是None,相当于js里面的null注意,None的首字母是大写的。5、其他比如自定义类型,典型的就是类,但这个不是标准的类型(非内置)。另外,Python没有常量。因为他不支持类似const之类的声明方式。

ylrf1212 2019-12-02 01:06:08 0 浏览量 回答数 0

回答

(1)在内部,array有额外的单元存储数组的长度。java c# python等比C++高级的语言,都会记录数组长度,因此,它们都是可以运行时获取数组长度的。(2)内部相当于一个字典,属性名是字典的key,属性值是字典的 value,类似java的hashmap(3)肯定实现原理不同,但是表现出来的形式应该类似。早期的浏览器,比如IE8都是解释执行,而现代的chrome用的v8,则使用jit编译和类型化等技术来为js加速。

51干警网 2019-12-02 01:34:25 0 浏览量 回答数 0

回答

(1)在内部,array有额外的单元存储数组的长度。java c# python等比C++高级的语言,都会记录数组长度,因此,它们都是可以运行时获取数组长度的。(2)内部相当于一个字典,属性名是字典的key,属性值是字典的 value,类似java的hashmap(3)肯定实现原理不同,但是表现出来的形式应该类似。早期的浏览器,比如IE8都是解释执行,而现代的chrome用的v8,则使用jit编译和类型化等技术来为js加速。

小旋风柴进 2019-12-02 02:29:58 0 浏览量 回答数 0

回答

概述 Aliyun Serverless VSCode Extension 是函数计算提供的 VSCode 插件,该插件结合了 函数计算 Fun 工具 以及 函数计算 SDK ,是基于 VSCode 的开发调试部署工具。 通过该插件,您可以: 快速地在本地初始化项目、创建函数 运行、调试本地函数(调试功能目前支持 Node.js、Python、Php) 拉取云端的服务函数列表,执行云端函数 部署服务函数至云端,并更新相关配置 前提条件 前置操作 如果您期望使用 Aliyun Serverless VSCode Extension 的所有功能,那么您需要确保系统中有以下组件: VSCode:在 Visual Studio Code 官网 中可以下载安装 函数计算 Fun 工具以及 Docker:可以在 aliyun/fun 中根据教程安装配置 Fun 以及 Docker 安装插件 打开 VSCode 并进入插件市场。 在插件市场中搜索 “Aliyun Serverless”,查看详情并安装。 重启 VSCode,左侧边栏中会展示已安装的 Aliyun Serverless VSCode Extension 插件。 操作步骤 绑定阿里云账户 打开左侧 Aliyun Serverless VSCode Extension,单击绑定阿里云账户的按钮。 绑定阿里云账户 依次输入阿里云 Account ID,阿里云 Access Key ID,阿里云 Access Key Secret,账户本地名称。 绑定阿里云账户弹窗 绑定完成后,可以看到所绑定的阿里云账户的云端服务与函数列表。 绑定阿里云账户结果 您可以通过切换区域 Region 来查看不同区域的服务与函数。单击云端资源面板的切换区域按钮。 切换区域 创建函数 通过 VSCode,打开一个空的目录文件。单击本地资源面板中的创建函数按钮,可以在本地初始化一个函数计算项目。 创建函数 按照导航依次输入或选择服务名称、函数名称、函数运行时、函数类型。填写完毕后,插件会自动创建函数并在本地资源面板中会展示新建的本地服务与函数。 创建函数结果 Tips:您也可以直接单击本地资源面板中服务名右侧的创建函数按钮,来为该服务创建函数。按照导航依次输入或选择函数名称、函数运行时、函数类型即可。 服务创建函数 本地调试函数 在本地资源面板中,单击函数名称右侧的调试按钮或 Handler 文件中的调试链接,可以在本地调试该函数。 本地调试函数 在代码文件中插入断点,启动调试后即可看到调试信息。 本地调试函数结果 插件会为您在函数入口文件同目录下创建 event.dat 文件,您可以通过修改该文件设置每次调试函数时触发的事件信息。 注意: 若您想要调试 python 2.7 或 python 3 runtime 的函数,需要事先在插件安装 Python 插件。 若您想调试 php runtime 的函数,需要事先在插件安装 PHP Debug 插件。 本地调用函数 在本地资源面板中,单击函数名称右侧的执行按钮或 Handler 文件中的执行链接,可以在本地调用该函数。 本地调用函数 函数的日志以及结果会输出在 Terminal 中。 本地调用函数结果 插件会为您在函数入口文件同目录下创建 event.dat 文件,您可以通过修改该文件设置每次调用函数时触发的事件信息。 本地调用修改事件输入 部署服务以及函数 单击本地资源面板中的部署按钮,可以将本地的服务与函数部署到云端。 部署服务以及函数 部署完成后,单击云端资源面板中的刷新按钮,可以查看部署到云端的服务与函数。 部署服务以及函数结果 执行云端函数 单击云端资源面板中函数右侧的执行按钮,可以执行云端函数。 执行云端函数 函数的日志以及结果会输出在 Output 中。 执行云端函数结果 插件会为您在项目根目录下创建 event.dat 文件,您可以通过修改该文件设置每次调用云端函数时触发的事件信息。 云端测试 您可以登录 控制台 ,对应查看是否部署成功。 登录 函数计算控制台,选择您在初始化 VSCode 插件时配置的地区,单机左侧导航栏 【服务-函数】 找到名为 demo01 的服务与名为 testFunc01 的函数,点击进入,即可在控制台查看并执行函数 进入函数并点击 【执行】,即可在控制台执行函数 查看日志 每次执行完毕,可以在当前页面查看本次执行日志,如果需要查看历史执行日志,可以点击【日志查询】,这需要您为函数配置日志仓库,请参考 函数日志。

1934890530796658 2020-03-27 16:19:17 0 浏览量 回答数 0

问题

用JavaScript编写一个Java虚拟机?谈谈哗众取宠的BicaVM 400 请求报错 

kun坤 2020-05-29 09:57:19 2 浏览量 回答数 1

回答

本文介绍了如何通过函数计算控制台开发简单的 Serverless Hello World 应用。 前提条件 您已注册阿里云账号并完成实名认证。 开通函数计算服务 打开阿里云函数计算首页。 在页面单击免费开通按钮。函数计算首页 在开通成功页面单击管理控制台,进入函数计算控制台。 创建函数 在函数计算页面右下方快速入口区域单击新建函数。快速入口 在创建函数页面,选择事件函数,然后单击下一步。创建函数2 创建函数有三种方式,分别是:事件函数、HTTP 函数和模板函数。本文以事件函数的方式示例。 配置函数 在配置参数页面,输入所有的必填信息。填写完毕后,单击完成。配置函数2 说明: 绑定日志:控制台会默认为您创建 LogProject 和 LogStore,将您的函数执行日志导入到 LogStore 中。 运行环境:运行环境选择您熟悉的语言,例如 Python、Java、PHP、Node.js 等。 函数入口:选择默认。控制台会创建 index.py 的文件与名为 handler 的函数,选择函数入口为 index.handler 会从 handler 函数开始执行。 函数执行内存:默认为 512 MB,最大为 3072 MB。 超时时间:默认为 60 秒,最长为 600 秒,超过设置的超时时间,函数将以执行失败结束。 实例并发度:单个实例能够并发处理的请求数。 执行函数 在代码执行页签,选择在线编辑,单击执行。代码执行2 结果验证 执行完毕后,您可以在页面下方看到执行结果和详细的日志信息。执行结果2执行完毕后,您也可以在日志查询页签查看历史执行情况。查看日志2 更多信息 关于更多触发函数执行的方式,请参见触发器管理。

1934890530796658 2020-03-27 16:03:45 0 浏览量 回答数 0

问题

【开源分享】5期 基于 Go 的分布式管理平台 Crawlab

问问小秘 2020-05-07 13:49:42 106 浏览量 回答数 2

问题

Serverless 工作流

黄一刀 2020-04-03 23:50:42 117 浏览量 回答数 1

回答

jsonp是JSON格式加上前缀后缀变成兼容的可执行的Javascript,那么自然去掉这个前缀和后缀就好<preclass="brush:python;toolbar:true;auto-links:false;">_jsonp_begin=u'callback('_jsonp_end=u')'importjsondeffrom_jsonp(jsonp_str):jsonp_str=jsonp_str.strip()ifnotjsonp_str.startswith(_jsonp_begin)or\notjsonp_str.endswith(_jsonp_end):raiseValueError('InvalidJSONP')returnjson.loads(jsonp_str[len(_jsonp_begin):-len(jsonp_end)])解析JSONP应该只接受固定的格式,因为在网页当中JSONP也是这么使用的,回调函数必须跟预先设定的一致。最多也就最后有没有分号的差别。如果出现了预想以外的格式,都应该认为是错误。 https://www.zhihu.com/question/52841349 <preclass="brush:python;toolbar:true;auto-links:false;">importrequestsimportjsonres=requests.get('http://cre.dp.sina.cn/api/v3/get?cre=newsw&mod=f&merge=3&statics=1&cateid=1o&offset=0&length=100&=1481721737306&callback=jsonp1')js=res.text.lstrip('jsonp1(').rstrip(');').strip()jd=json.loads(js[:-2])jd Notsureaboutthereasonbutithasadditionalcharsintheend. thankyou.Iwillhaveatrytonight.<aclass="referer"target="_blank">@MaxWu

爱吃鱼的程序员 2020-06-08 20:04:01 0 浏览量 回答数 0

问题

函数计算的应用示例1 - hello world

boxti 2019-12-01 21:47:58 1025 浏览量 回答数 0

回答

一、前言 Java语言长期以来一直霸占多数热门编程语言榜单的榜首,可见这是一个备受程序员热捧的编程语言。Java语言具有什么魅力?想必这都是已经为大多数人们所熟知的了,不值得过多赘述。而Java语言发展至今,面对发展势头迅猛又十分简单易学的python,以及各种层出不穷的高级语言,Java程序员的份额已经逐步下降,那它是否还能在未来保持领先的优势呢?本文就主要从Java语言所不擅长的领域,以及它在自己的领土内受到的对手入手,聊一聊Java语言在未来所面临的挑战。 二、Java帝国的今天 2.1 依然霸占TIOBE热门编程语言的榜首 这是来自权威开发语言排行榜TIOBE的最新数据(截止到2020年4月),可以看到Java语言依然在语言排行榜霸占第一的位置!虽然下面Python小老弟近几年搭上大数据的热潮,发展实为迅猛,在其他一些排行榜上面甚至超越大哥,但是在TIOBE这样权威的排行榜上面,Python依旧是小老弟! 2.2 曾经想扼杀Java的微软宣布加入OpenJDK 这又是一个IT界的真香现场,Sun 公司曾以“歧视使用 Java 软件”为由起诉微软。而微软在2001年推出新版操作系统 Windows XP 时,故意不安装 Java 软件,并且推出高仿 Java 的语言 C# 和 .net 框架。在现在,微软却宣布加入OpenJDK,拥抱Java技术。微软的宇宙第一 IDE Visual Studio也开始支持Java开发(通过VS的 Visual Studio Live Share ,可以关联到VS code上面的Java项目,协同编程,间接地支持了Java开发)。 2.3 Oracle发布开源全栈虚拟机GraalVM 这是大名鼎鼎的Oracle公司搞出来的开源产品,从官网“Run Programs Faster Anywhere”这句口号和产品的命名GraalVM就可以看出,GraalVM是升级版的JVM。在GraalVM上面执行Java程序的效率更高(得益于其中的JIT编译器技术)。最牛逼的地方在于,GraalVM支持多语言应用!在GraalVM里面,多种不同的语言可以互相传递数据,支持Java、Python、Ruby、R、Scala、Kotlin,JavaScript等多种语言。 三、Java帝国受到的挑战 3.1 后端服务器开发 J2EE作为Java平台的重要组成部分,现在广泛应用于Web后台服务器开发领域,在这个领域,Java拥有很多好朋友,比如Spring框架,Mybatis和Hibernate等,使得开发者可以快速构建Web应用程序。这是Java帝国一块重要的领土,但也有很多挑战。下面就是几个强大的竞争者。 3.1.1 Python 的竞争 Python语言和Java相比,具有下面这些优点: 语法简单直观,这意味着开发速度快第三方库强大,可以写复杂的逻辑 当然Python和Java相比执行效率上肯定是更低了,因此主要应用于小型的网站后台,像阿里这样的大厂就是拥抱Java后台的了。 3.1.2 C++ 的竞争 C++语言和Java相比,具有以下优点: 执行效率高对内存管理自由,而Java由GC来管理 C++适合大型高性能的服务器开发。腾讯更多的就是使用C++进行开发,这点和阿里不同。当然C++相比Java,学习和开发的难度更高。 3.1.3 node.js 的竞争 node.js的出现大概是前端程序员最高兴的事情了,因为node.js可以让他们写的JavaScript代码运行在服务端,这样就可以使得前端不用学Java也能自己写后台,摆脱后台爸爸的束缚(误)。得益于node.js的事件驱动机制,node.js具有很高的并发性能,可以应对大规模的http请求。但也有缺点,因为js只支持单核,因此没法充分利用服务器的性能,它不适合CPU密集型应用。 3.1.4 Go 的竞争 Go语言是最近很火的开发语言,适合用于开发高性能分布式系统。这是一个十分强大的竞争对手,被认为是未来的服务端语言。它具有下面这些优点: 学习难度低,容易上手,易于维护得益于协程,并发性能优越编译型语言,执行效率高 3.1.5 小结 可以看到,在后端服务器开发领域,Java在不同方面受到多种语言的竞争,轻量小型的服务器,人们可以选择Python,node.js或者PHP。而大型高性能服务器,人们可以选择C++。Go语言就更强大,兼具了比Java更简单的语法和更高的并发性能,背后又是Google爸爸。因此,在这一领域,Java面临巨大的竞争压力。 3.2 安卓系统应用开发 Java用于安卓应用程序开发已经是很成熟的方案了,目前绝大多数的安卓应用都是用Java写的。很多安卓程序员也都是学Java过来的。但是随着新语言不断推出,和安卓应用开发方式的演变,Java慢慢不再是安卓开发的首选。比如下面这些语言,就是比较热门的选择。 3.2.1 Kotlin 成为 Android 开发的首选语言 在2019年的Google I/O 大会上,Google 官方正式宣布,Kotlin 编程语言现在是 Android 应用程序开发人员的首选语言。Java 占据 Android 开发绝对统治的时代一去不复返了。Kotlin 可以编译成Java字节码,可以在JVM上面运行,也可以编译成JavaScript,在没有JVM的机器上运行。Kotlin语言比Java更安全,更简洁,随着谷歌爸爸推崇,将来的发展前景可期。 3.2.2 Flutter 框架和 Dart 语言 这两个都是谷歌最近推出的东西,Flutter是一款用于帮助开发者在iOS和Android两个平台构建高质量原生应用的全新移动UI框架,Dart是由Google开发的一门全新的计算机编程语言,而Flutter使用Dart语言开发。Fuchsia是谷歌开发的一款全新的操作系统,Flutter 是 Fuchsia 的开发框架。Flutter编写的代码可以同时生成IOS和Android两个平台下的应用程序,因此Flutter框架逐渐热门。 3.2.3 大前端时代下的H5应用 随着时代发展,现在的前端不再只是写web网页,而是逐渐发展为大前端,web,Android,IOS通吃,H5应用的流行就是一个例子,大家应该都发现,手机上开始出现快应用,小程序这些使用前端语言进行开发的app,这些应用使用HTML,JS和CSS进行开发,无需使用Java。相比之下,H5应用轻量级,启动快,跨平台,用户体验方面也逐渐开始接近原生应用的流畅度。因此大有流行的趋势。 3.2.4 小结 这一小节介绍了安卓开发的现状,Java作为曾经的安卓开发第一首选语言,正在面临诸如Kotlin语言,Flutter和Dart语言等新的开发语言的挑战,同时,随着安卓应用开发逐渐出现H5应用的趋势,前端语言也逐渐开始来到Java的地盘。 四、Java不擅长的领域 4.1 前后端分离和JSP的没落 JSP是一度火爆的技术,Java曾对其寄予厚望,希望通过JSP技术占领web应用程序领域。然而,随着网页开发越来越复杂,用JSP开发网页变得很麻烦,前端和后端混杂在一起,开发效率很低。因此前后端开始分离,而JSP这种运行于服务器端的网页程序也就慢慢退出了舞台。 4.2 C#和.NET抢占桌面程序地盘 Java曾经也被广泛用于开发桌面客户端,其中Swing框架就是一个有名的GUI框架。然而,曾经想要扼杀Java的微软,开发了C#语言。C#成为Java的竞争对手,C#编写运行于Windows系统的桌面应用程序上具有优势,Java写的桌面应用,虽然可以跨平台到处运行,这对于程序员当然是好事,但是对于用户来说,在Windows上运行个Java程序还得安装JRE,显得十分麻烦。而且,Java桌面程序运行起来比C#程序慢。因此,C#和.NET逐渐占领了桌面应用程序的市场。 4.3 C/C++活跃的嵌入式系统领域 Java曾经是为了嵌入式系统开发而设计的。然而,Java程序员并不能直接操作硬件,并且,Java是相对较重的语言,对内存等硬件资源不友好,执行效率也相对较低。而在嵌入式系统中,往往只有很少的内存空间,却对运行效率有很高的要求。因此,在嵌入式领域,更多的是C语言和C++甚至是汇编语言的天下。 4.4 小结 这一小节主要针对Java所不擅长的领域来讨论。可以看到,Java最为有名的特性“Write once, run anywhere”,也成了它最大的缺陷:在执行效率上做不到卓越。因此,在桌面应用程序和嵌入式系统两个领域Java不是王者。而随着时代发展,前后端分离,JSP也被时代所抛弃。 五、总结 综上所述,相信大家对于Java语言有了更全面的了解,看到了Java背后的芸芸众生,各种层出不穷的高级语言和新技术,和Java相爱相杀。Java作为现在世界上最热门的编程语言,依然在各个不同的领域具有重要的地位 ,Java的强大之处在于,它十分全能,几乎没有什么是Java不能做的,但它并不都是做得最好的,我们也可以看到许许多多的竞争者在不同方面比Java语言更加优越。 但是,我写这篇文章的目的,不在于比较各个语言的优劣,各种语言都有自己的优点和缺点,我们也不必因为某种语言更好就着急转语言。总而言之,语言只是工具,各种语言之间,语法的差别都不是特别大,背后的原理也是大同小异,往往只是多了几个新特性,而语言背后的编程思维才是最重要的。

剑曼红尘 2020-04-09 14:29:42 0 浏览量 回答数 0

问题

哪门编程语言工资最高?

福利达人 2019-12-01 21:38:25 2125 浏览量 回答数 1

回答

函数计算目前原生支持的开发语言有 nodejs, python, java, php 和 c#, 在实现这些开发语言 runtime 的时候, 函数计算开发团队花了很大的精力去让各自语言的传统应用能够简单快速迁移到函数计算平台: nodejs 开发函数计算的正确姿势——移植 Express python , 支持 WSGI 协议的框架可以一键迁移到函数计算 部署基于 python wsgi web 框架的工程到函数计算 十分钟上线-在函数计算上部署基于django开发的个人博客系统 java Java Http 触发器极速迁移传统 Spring 应用 php 一元建站-基于函数计算 + wordpress 构建 serverless 网站 C# 十分钟上线-基于函数计算开发 Restful web api & asp.net core web app 如上述所列的各自语言的传统应用迁移到函数计算的迁移方案, 虽然已经足够简单, 但是还是需要去理解一下函数计算的接口以及各自语言在函数计算环境中运行起来的原理, 比如 python, 用户需要理解 WSGI 协议, 然后才编写一个符合要求的入口函数。 为了彻底解放生产力, Custom Runtime 应运而生, Custom Runitme 可以解决以下两个重要需求: 可以随心所欲持定制个性化语言执行环境(例如 golang、lua、ruby)以及各种语言的小版本(例如python3.7、Nodejs12)等,打造属于自己的自定义runtime 现有的 web 应用或基于传统开发 web 项目基本不用做任何改造,即可将项目一键迁移到函数计算平台 用户要实现一个最简单的 Custom runtime,只要符合以下两条: 创建一个http server,监听在固定端口(端口可以读取环境变量 FC_SERVER_PORT,默认为 9000) http server 需要在 15s 内完成启动 接下来, 我们梳理一下基于 Custom Runtime 一键迁移案例。 custom 实现注意细节: Custom Runtime 启动的服务一定监听 0.0.0.0:9000 或者 *:9000 端口,不用使用127.0.0.1:9000, 会导致请求超时。{“ErrorCode”:”FunctionNotStarted”,”ErrorMessage”:”The CA’s http server cannot be started:ContainerStartDuration:25000000000. Ping CA failed due to: dial tcp 21.0.5.7:9000: getsockopt: connection refused Logs : 2019-11-29T09:53:30.859837462Z Listening on port 9000\r\n”} Custom Runtime 的 bootstrap 一定需要添加 #!/bin/bash,不然会遇见如下错误{“ErrorCode”:”CAExited”,”ErrorMessage”:”The CA process either cannot be started or exited:ContainerStartDuration:25037266905. CA process cannot be started or exited already: rpc error: code = 106 desc = ContainerStartDuration:25000000000. Ping CA failed due to: dial tcp 21.0.7.2:9000: i/o timeout Logs : 2019-11-29T07:27:50.759658265Z panic: standard_init_linux.go:178: exec user process caused \”exec format error\” bootstrap 一定需要可执行权限 bootstrap 代码一定要执行到 http server 启动成功的逻辑, 不能被前面的逻辑阻塞, 比如启动server之前, 尝试连接一个不可达的数据库,造成启动时间 timeout http server 的实现 connection keep alive, request timeout 至少10分钟以上 案例 java Serverless 实战 —— 快速搭建 SpringBoot 应用 Serverless 实战 —— 移植 spring-petclinic 到函数计算 python import tornado.ioloop import tornado.web import os class MainHandler(tornado.web.RequestHandler): def get(self): rid = self.request.headers.get('x-fc-request-id',None) print("FC Invoke Start RequestId: " + str(rid)); # your logic self.write("GET: Hello world") print("FC Invoke End RequestId: " + str(rid)); def post(self): rid = self.request.headers.get('x-fc-request-id',None) print("FC Invoke Start RequestId: " + str(rid)); # your logic self.write("GET: Hello world") print("FC Invoke End RequestId: " + str(rid)); def make_app(): return tornado.web.Application([ (r"/.*", MainHandler), ]) if name == "main": app = make_app() port = os.environ.get("FC_SERVER_PORT", "9000") app.listen(int(port)) tornado.ioloop.IOLoop.current().start() 本地安装第三方包 tornado 然后编写一个具有可执行权限的名字为bootstrap (注:#!/bin/bash注释是必需的)文件启动上面代码的 http server: #!/bin/bash python server.py go 基于custom runtime 打造 golang runtime nodejs 'use strict'; var express = require('express'); var app = express(); var crypto = require('crypto'); app.post(/.*/, function (req, res) { var rid = req.headers["x-fc-request-id"]; console.log(FC Invoke Start RequestId: ${rid}); // your logic, for example, get hash var secret = 'abcdefg'; var hash = crypto.createHmac('sha256', secret) .update('I love cupcakes') .digest('hex'); // c0fa1bc00531bd78ef38c628449c5102aeabd49b5dc3a2a516ea6ea959d6658e console.log(hash); res.send(hash); console.log(FC Invoke End RequestId: ${rid}); }); var port = process.env.FC_SERVER_PORT || 9000 app.listen(port, function () { console.log("FunctionCompute custom-nodejs runtime inited."); }); app.timeout = 0; // never timeout app.keepAliveTimeout = 0; // keepalive, never timeout 本地安装第三方包 express 然后编写一个具有可执行权限的名字为bootstrap (注:#!/bin/bash注释是必需的)文件启动上面代码的 http server: #!/bin/bash node server.js php 基于custom runtime + nginx + php-fpm 运行 wordpress:customruntime-php .NETCORE CSharp .Net Core 2.1 MVC Web应用迁移到函数计算 custom runtime 教程同样适用于 .netcore 3.0

1934890530796658 2020-03-27 16:29:17 0 浏览量 回答数 0

回答

数据库的基本操作Mongo最常用的命令……应该是这个吧:mongo yourMongoIP:yourMongoPortmongo数据库连接指令。我的客户端是shell……连接上数据库之后,就是三大命令:show dbs //查看当前databaseuse yourdbname //使用yourdbnameshow collections //查看当前collection接下来就是基础操作db.yourCollectionsName.find/delete/remove/count 注: delete和remove,根据MongoDB的版本会有不同限制,不过使用时命令行会提示这个命令是不是过期,或者没有支持进阶的有:db.yourCollectionsName.aggregate/mapreduce注:基本上基础命令+aggregate就可以满足90%的查询命令了,mapreduce因为是直接执行js代码,效率会低很多所以尽量避免。数据库的运维涉及到运维的操作就多了,副本集,分片,索引…………副本集和分片推荐看这篇文章:搭建高可用mongodb集群(四)—— 分片索引很重要,一定要覆盖所有的查询!但是太多索引会占用磁盘和插入时间,使用可以参照官方文档,这边就提一点,创建索引一定一定要记得后台创建,不然会把数据库给锁了的……………………数据库的驱动除了使用命令行,Mongo还提供了多种语言驱动。最麻烦的c++,编译了好久orz。python用pymongo,js我是用mongodb+monk。工具的话,还真没用过。我最初学习的方式,还真的只是看了三大命令,就去用了,其他都是碰到具体要求了,各种google,官方,才把合适的查询语句拼凑出来。基本操作了解之后,再把官方文档看了一次,重新优化。恩,所以,可能的话,我还是建议有问题找官网

蛮大人123 2019-12-02 02:48:36 0 浏览量 回答数 0

回答

Python 的星号表达式可以用来解决这个问题。比如,你在学习一门课程,在学期末的时候, 你想统计下家庭作业的平均成绩,但是排除掉第一个和最后一个分数。如果只有四个分数,你可能就直接去简单的手动赋值, 但如果有 24 个呢?这时候星号表达式就派上用场了: def drop_first_last(grades): first, *middle, last = grades return avg(middle) 另外一种情况,假设你现在有一些用户的记录列表,每条记录包含一个名字、邮件,接着就是不确定数量的电话号码。 你可以像下面这样分解这些记录: >>>record = ('Dave', 'dave@example.com', '773-555-1212', '847-555-1212') >>>name, email, *phone_numbers = record >>>name 'Dave' >>> email 'dave@example.com' >>> phone_numbers ['773-555-1212', '847-555-1212'] >>> 值得注意的是上面解压出的 phone_numbers 变量永远都是列表类型,不管解压的电话号码数量是多少(包括 0 个)。 所以,任何使用到 phone_numbers 变量的代码就不需要做多余的类型检查去确认它是否是列表类型了。 星号表达式也能用在列表的开始部分。比如,你有一个公司前 8 个月销售数据的序列, 但是你想看下最近一个月数据和前面 7 个月的平均值的对比。你可以这样做: *trailing_qtrs, current_qtr = sales_record trailing_avg = sum(trailing_qtrs) / len(trailing_qtrs) return avg_comparison(trailing_avg, current_qtr) 下面是在 Python 解释器中执行的结果: >>> *trailing, current = [10, 8, 7, 1, 9, 5, 10, 3] >>> trailing [10, 8, 7, 1, 9, 5, 10] >>> current 3``````js js

哦哦喔 2020-04-16 18:27:18 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板