s*****w 发帖数: 1527 | 1 so i want to parse a file to extract some values from this file,
in node.js
1. use fs in node, javascript to parse the file directly
2. use child_process in node, then write python script to parse and send
json back to node.js
parse稍微有点复杂,
哪种更好?或者说哪种情况用python更好?
Many thanks ! |
l**********n 发帖数: 8443 | 2 同学,你要parse啥文件?
【在 s*****w 的大作中提到】 : so i want to parse a file to extract some values from this file, : in node.js : 1. use fs in node, javascript to parse the file directly : 2. use child_process in node, then write python script to parse and send : json back to node.js : parse稍微有点复杂, : 哪种更好?或者说哪种情况用python更好? : Many thanks !
|
s*****w 发帖数: 1527 | 3 一个txt文件,找到某个pattern,然后把当中一段拿出来
【在 l**********n 的大作中提到】 : 同学,你要parse啥文件?
|
R*********4 发帖数: 293 | 4 我建议您学学正则表达式
不管js php c# Python 都支持
也就是regex |
s*****w 发帖数: 1527 | 5 js version 早写好了,你没看懂我问题吧
【在 R*********4 的大作中提到】 : 我建议您学学正则表达式 : 不管js php c# Python 都支持 : 也就是regex
|
R*********4 发帖数: 293 | 6
我判断的是,即使您会js,也没认真学过正则。
如果您会正则,python, js, C#,C, php,用正则有什么分别?
这就是正则,搜索某个pattern的方法。
http://regexr.com/
【在 s*****w 的大作中提到】 : js version 早写好了,你没看懂我问题吧
|
s*****w 发帖数: 1527 | 7 sigh,
那我换个问法,用python在这种情况下有什么不好?
【在 R*********4 的大作中提到】 : : 我判断的是,即使您会js,也没认真学过正则。 : 如果您会正则,python, js, C#,C, php,用正则有什么分别? : 这就是正则,搜索某个pattern的方法。 : http://regexr.com/
|
e*******o 发帖数: 4654 | 8 吃饱撑的。你主程序语言能做,为啥要另外调用一个程序?
【在 s*****w 的大作中提到】 : sigh, : 那我换个问法,用python在这种情况下有什么不好?
|
s*****w 发帖数: 1527 | 9 python的module比js多得多啊
【在 e*******o 的大作中提到】 : 吃饱撑的。你主程序语言能做,为啥要另外调用一个程序?
|
e*******o 发帖数: 4654 | 10 既然如此,你为何用node?
卧槽,你用这个regex,用得上module么?
【在 s*****w 的大作中提到】 : python的module比js多得多啊
|
|
|
l**********n 发帖数: 8443 | 11 这种还真有,js不熟,py熟,非得给js脚本加一py的套。我还见过对js this都不理解
的py程序员,见到var self = this; 认为没必要,就给优化删了。oop程序员优化js我
也见过,非常搞笑。
【在 e*******o 的大作中提到】 : 既然如此,你为何用node? : 卧槽,你用这个regex,用得上module么?
|
s*****w 发帖数: 1527 | 12 kao, 读文件是io,如果让js做,不是影响node.js的效率嘛?
【在 e*******o 的大作中提到】 : 既然如此,你为何用node? : 卧槽,你用这个regex,用得上module么?
|
s*****w 发帖数: 1527 | 13 这个说的是我了。
大牛说说go会不会取代js吧。
【在 l**********n 的大作中提到】 : 这种还真有,js不熟,py熟,非得给js脚本加一py的套。我还见过对js this都不理解 : 的py程序员,见到var self = this; 认为没必要,就给优化删了。oop程序员优化js我 : 也见过,非常搞笑。
|
e*******o 发帖数: 4654 | 14 你测一下就知道了
node 不比Python慢
【在 s*****w 的大作中提到】 : kao, 读文件是io,如果让js做,不是影响node.js的效率嘛?
|
s*****w 发帖数: 1527 | 15 node.js child_process call python是multi-thread好吧,
你们js比我熟悉的多,但全靠js怕是网站大了performance会不怎的
【在 e*******o 的大作中提到】 : 你测一下就知道了 : node 不比Python慢
|
l**********n 发帖数: 8443 | 16 node没有thread
【在 s*****w 的大作中提到】 : node.js child_process call python是multi-thread好吧, : 你们js比我熟悉的多,但全靠js怕是网站大了performance会不怎的
|
s*****w 发帖数: 1527 | 17 那child_process.spawn怎么实现的?
【在 l**********n 的大作中提到】 : node没有thread
|
l**********n 发帖数: 8443 | 18 process
【在 s*****w 的大作中提到】 : 那child_process.spawn怎么实现的?
|
e*******o 发帖数: 4654 | 19 process 和 thread 不一回事
另外 你用node 套Python performance 只会更差
要提高performance 要cpp 来帮忙
你网站大了 就有钱了 雇人
我觉得你低估现在计算机的性能了
【在 s*****w 的大作中提到】 : 那child_process.spawn怎么实现的?
|
s*****w 发帖数: 1527 | 20 我说的不严谨,但新开一个process效率当然比全部用js强
【在 l**********n 的大作中提到】 : process
|
|
|
s*****w 发帖数: 1527 | 21 套python改成套cpp容易,
我原本的问题是,全用js有哪些缺点?
大型网站的效率是应该放在首位考虑的。
【在 e*******o 的大作中提到】 : process 和 thread 不一回事 : 另外 你用node 套Python performance 只会更差 : 要提高performance 要cpp 来帮忙 : 你网站大了 就有钱了 雇人 : 我觉得你低估现在计算机的性能了
|
l**********n 发帖数: 8443 | 22 你不能做到真正的并行,多开进程只能是浪费资源
【在 s*****w 的大作中提到】 : 套python改成套cpp容易, : 我原本的问题是,全用js有哪些缺点? : 大型网站的效率是应该放在首位考虑的。
|
R*********4 发帖数: 293 | 23 如果您说查个pattern,影响performace........
呵呵,正则是最基本的吧。 |
s*****w 发帖数: 1527 | 24 这个?我老人家是做c++出身,多进程在大部分情况下还是提高效率的
【在 l**********n 的大作中提到】 : 你不能做到真正的并行,多开进程只能是浪费资源
|
s*****w 发帖数: 1527 | 25 尼玛,老子是举这个例子来比较js和node child_process.spawn
【在 R*********4 的大作中提到】 : 如果您说查个pattern,影响performace........ : 呵呵,正则是最基本的吧。
|
R*********4 发帖数: 293 | 26
我不该那么讲,但是您有些感觉太奇怪了。
【在 s*****w 的大作中提到】 : 尼玛,老子是举这个例子来比较js和node child_process.spawn
|
l**********n 发帖数: 8443 | 27 你这是io操作,多核也没有用。除非处理文件这步你能用多进程提高效率。fs是可以异
步处理的。
【在 s*****w 的大作中提到】 : 这个?我老人家是做c++出身,多进程在大部分情况下还是提高效率的
|
s*****w 发帖数: 1527 | 28 你用js来操作io,那是blocked io好吧
【在 l**********n 的大作中提到】 : 你这是io操作,多核也没有用。除非处理文件这步你能用多进程提高效率。fs是可以异 : 步处理的。
|
e*******o 发帖数: 4654 | 29 你老人家看看manual
【在 s*****w 的大作中提到】 : 你用js来操作io,那是blocked io好吧
|
R*********4 发帖数: 293 | 30
您老人家好好看看手册吧。
您的基本功需要好好提高,
我是C语言出来的。。。。。。。。。
【在 s*****w 的大作中提到】 : 你用js来操作io,那是blocked io好吧
|
|
|
s*****w 发帖数: 1527 | 31 好吧,用node.js里的fs是non-blocked io,
但你要说实战中这个效率比child_process.spawn的效率高,给点证明吧
【在 R*********4 的大作中提到】 : : 您老人家好好看看手册吧。 : 您的基本功需要好好提高, : 我是C语言出来的。。。。。。。。。
|
e*******o 发帖数: 4654 | 32 你写两个版本自己跑一下就知道了
说不定 spawn new process的时间都比处理file的时间长.
【在 s*****w 的大作中提到】 : 好吧,用node.js里的fs是non-blocked io, : 但你要说实战中这个效率比child_process.spawn的效率高,给点证明吧
|
n*****t 发帖数: 22014 | 33 憋了半天实在忍不住出来说几句:
楼主显然对 js 很不熟,既然这样啥玩意乘手就整啥玩意,弄一堆歪七歪八的 js 还不
如出门找蟒蛇帮忙,说不定效率更高。其实楼主这情况,干脆 python 离线 parse 算
了,算完扔 DB 里。
说到 node 的并行处理,如果是需要计算资源的可以考虑开 cluster。比如我现在计算
一堆 jpg 的 phash,一堆 worker 领了任务自己算球去,需要注意的是别俩傻老爷们
跟一个小妞较劲。换一个场景,jpg 取 exif 存到 db 去,这玩都卡在 io,开再多
process 也没用。 |
s*****w 发帖数: 1527 | 34 老姜你要多发言的,我老人家是在学js
【在 n*****t 的大作中提到】 : 憋了半天实在忍不住出来说几句: : 楼主显然对 js 很不熟,既然这样啥玩意乘手就整啥玩意,弄一堆歪七歪八的 js 还不 : 如出门找蟒蛇帮忙,说不定效率更高。其实楼主这情况,干脆 python 离线 parse 算 : 了,算完扔 DB 里。 : 说到 node 的并行处理,如果是需要计算资源的可以考虑开 cluster。比如我现在计算 : 一堆 jpg 的 phash,一堆 worker 领了任务自己算球去,需要注意的是别俩傻老爷们 : 跟一个小妞较劲。换一个场景,jpg 取 exif 存到 db 去,这玩都卡在 io,开再多 : process 也没用。
|
s*****w 发帖数: 1527 | 35 好吧,比如这个情况,网页上给你一个text area输入某个网址,
一个button "crawl all links from this web and find me all emails in the page
",
你说说光用js怎么搞吧
【在 e*******o 的大作中提到】 : 你写两个版本自己跑一下就知道了 : 说不定 spawn new process的时间都比处理file的时间长.
|
R*********4 发帖数: 293 | 36
page
呵呵, all links
您知道 $("a").attr("href"); 是什么意思吗?
【在 s*****w 的大作中提到】 : 好吧,比如这个情况,网页上给你一个text area输入某个网址, : 一个button "crawl all links from this web and find me all emails in the page : ", : 你说说光用js怎么搞吧
|
s*****w 发帖数: 1527 | 37 好吧,你牛,我不懂。
有网上教程吗?keyword是什么?学习一下
【在 R*********4 的大作中提到】 : : page : 呵呵, all links : 您知道 $("a").attr("href"); 是什么意思吗?
|
n*****t 发帖数: 22014 | 38 All links 是 html tag,楼上提到的是用 jquery,email 是典型的 regexp
【在 s*****w 的大作中提到】 : 好吧,你牛,我不懂。 : 有网上教程吗?keyword是什么?学习一下
|
R*********4 发帖数: 293 | 39
这已经不是牛不牛的问题的,我说的是基本功,不是什么高深的东西。
网络有前端,后端,
前端需要懂什么技术,后端需要了解什么技术。是你学的时候就必须要懂得基本功。
找email, 在C语言里面都有,
C++, C#, js,php,更不用讲。
【在 s*****w 的大作中提到】 : 好吧,你牛,我不懂。 : 有网上教程吗?keyword是什么?学习一下
|
w********m 发帖数: 1137 | 40 楼主的思路是对的。
分离,decoupling,microservice. 都是现在流行的。
用celery起一个线程。
做一个service。
什么regex的任务都扔给celery worker。
node这边也要保持异步。 |
|
|
s*****w 发帖数: 1527 | 41 好吧,我孤陋寡闻,你这些东东能把一个网页以及其所有的子链接,子子链接全爬过去?
python 有 beautifulsoup
【在 R*********4 的大作中提到】 : : 这已经不是牛不牛的问题的,我说的是基本功,不是什么高深的东西。 : 网络有前端,后端, : 前端需要懂什么技术,后端需要了解什么技术。是你学的时候就必须要懂得基本功。 : 找email, 在C语言里面都有, : C++, C#, js,php,更不用讲。
|
a9 发帖数: 21638 | 42 那不是整个internet都给你弄来了?哈哈
里”
【在 R*********4 的大作中提到】 : : 这已经不是牛不牛的问题的,我说的是基本功,不是什么高深的东西。 : 网络有前端,后端, : 前端需要懂什么技术,后端需要了解什么技术。是你学的时候就必须要懂得基本功。 : 找email, 在C语言里面都有, : C++, C#, js,php,更不用讲。
|