我有一个python脚本parse.py,它在脚本中打开一个文件,比如file1,然后做一些事情可能会打印出总字符数.
filename = 'file1'
f = open(filename, 'r')
content = f.read()
print filename, len(content)
Run Code Online (Sandbox Code Playgroud)
现在,我使用stdout将结果定向到我的输出文件 - 输出
python parse.py >> output
Run Code Online (Sandbox Code Playgroud)
但是,我不想手动执行此文件,有没有办法自动处理每个文件?喜欢
ls | awk '{print}' | python parse.py >> output
Run Code Online (Sandbox Code Playgroud)
那么问题是如何从standardin读取文件名?或者已经有一些内置函数可以轻松完成ls和那些工作?
谢谢!
我有一个正在运行的Spark应用程序,它占用了我的其他应用程序不会分配任何资源的所有核心.
我做了一些快速的研究,人们建议使用YARN kill或/ bin/spark-class来杀死命令.但是,我使用CDH版本和/ bin/spark-class甚至根本不存在,YARN kill应用程序也不起作用.

任何人都可以和我一起吗?
我曾经和R一起工作,真的很喜欢你可以轻松分组并总结的dplyr软件包.
但是,在pandas中,我没有看到相当的总结,这是我在Python中实现它的方式:
import pandas as pd
data = pd.DataFrame(
{'col1':[1,1,1,1,1,2,2,2,2,2],
'col2':[1,2,3,4,5,6,7,8,9,0],
'col3':[-1,-2,-3,-4,-5,-6,-7,-8,-9,0]
}
)
result = []
for k,v in data.groupby('col1'):
result.append([k, max(v['col2']), min(v['col3'])])
print pd.DataFrame(result, columns=['col1', 'col2_agg', 'col3_agg'])
Run Code Online (Sandbox Code Playgroud)
它不仅非常冗长,而且可能不是最优化和最有效的.(我曾经重写过一个dplyr实现for-loop groupby,性能提升很大).
在R中代码将是
data %>% groupby(col1) %>% summarize(col2_agg=max(col2), col3_agg=min(col3))
Run Code Online (Sandbox Code Playgroud)
在Python或for循环中是否有一个有效的等价物是我必须使用的.
另外,@ ahan真的给了我答案的解决方案,这是一个后续问题,我将在这里列出而不是评论:
什么是相当于 groupby.agg
我是Tor的新手,我觉得应该考虑多个Tors.我在这里提到的多个实例不仅是多个实例,而且还为每个实例使用不同的代理端口,就像这里所做的那样 http://www.howtoforge.com/ultimate-security-proxy-with-tor)
我正在努力开始使用4个Tors.但是,本教程仅适用于Arch Linux,而我使用的是无头EC2 ubuntu 64位.通过Arch和Ubuntu之间的差异真的很痛苦.在这里,我想知道是否有人可以提供一些帮助,以明确地实现我的想法.
四个Tors同时运行,每个都有一个单独的端口,privoxy或polipo或一旦它工作正常.喜欢:8118 < - Privoxy < - TOR < - 9050 8129 < - Privoxy < - TOR < - 9150 8230 < - Privoxy < - TOR < - 9250 8321 < - Privoxy < - TOR < - 9350
这样,如果我尝试返回127.0.0.1:8118,8129,8230和8321的ip,它们应该返回四个不同的ips,这表示有四个不同的Tors同时运行.然后,几分钟后,再次检查,他们四个应该再次有一个新的ips.
我知道我的简单"梦想"可以在很多方面实现,但是......我不仅是Tor的新手,而且也是bash和python的新手...这就是为什么我来到这里看看你们中的一些人是否可以点亮我起来
这些链接可能很有用:
http://blog.databigbang.com/distributed-scraping-with-multiple-tor-circuits/ https://www.torservers.net/wiki/setup/server#multiple_tor_processes Best,
顺便说一句,如果我跑,
$ ps -A | grep 'tor'
我有几个实例,但有"?" 在tty栏下,这意味着什么,因为我知道tty意味着终端?
嗨,我有一个文件包含网址列表,如下所示:
文件1:
http://www.google.com
http://www.bing.com
http://www.yahoo.com
http://www.baidu.com
http://www.yandex.com
....
Run Code Online (Sandbox Code Playgroud)
我希望获得以下所有记录:http://www.yahoo.com,结果如下所示:
文件2:
http://www.baidu.com
http://www.yandex.com
....
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用grep来查找yahoo.com所使用的行号
$grep -n 'http://www.yahoo.com' file1
3 http://www.yahoo.com
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何在第3行之后获取文件.另外,我知道grep中有一个标志 - 在匹配后打印行.但是,您需要在匹配后指定所需的行数.我想知道是否有什么可以解决这个问题.喜欢:
PSEUDO CODE:
$ grep -n 'http://www.yahoo.com' -A all file1 > file2
Run Code Online (Sandbox Code Playgroud)
我知道我们可以使用我得到的行号和wc -l来获取yahoo.com之后的行数,但是感觉非常蹩脚.
期待一个方便易用的解决方案.请尽量批评我在开始时将问题复杂化,同时也欢迎使用awk和sed命令!
我正在考虑使用编程语言R构建RESTful API ,主要是以API格式向用户公开我的机器学习模型.我知道有一些选项可以导出到PMML,PFA并使用其他语言来处理API部分.但是,我想坚持使用相同的编程语言,并想知道R中是否有类似Flask/Django/Springbook框架的东西?
我试图通过向项目配置文件添加额外的行来覆盖我的crawlspider的用户代理.这是代码:
[settings]
default = myproject.settings
USER_AGENT = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36"
[deploy]
#url = http://localhost:6800/
project = myproject
Run Code Online (Sandbox Code Playgroud)
但是当我对自己的网络运行爬虫时,我注意到蜘蛛没有拿起我的自定义用户代理,而是默认的"Scrapy/0.18.2(+ http://scrapy.org)".任何人都可以解释我做错了什么.
注意:
scrapy crawl myproject.com -o output.csv -t csv -s USER_AGENT="Mozilla...."
Run Code Online (Sandbox Code Playgroud)
(2).当我从配置文件中删除"default = myproject.setting"行并运行scrapy crawl myproject.com时,它说"找不到蜘蛛......",所以我觉得在这种情况下不应该删除默认设置.
非常感谢您的帮助.
我正在使用docker建立一个Selenium服务器,基本上遵循这个 github教程.
我没有设置服务器的问题,但我注意到我在docker镜像中启动的进程实际上显示在我的主机进程列表中.

正如您在屏幕截图中看到的那样,docker运行了一个bash脚本并执行了一个jar文件,我认为该文件应该只发生在框内.这是否意味着来自主机的用户可能会杀死容器外的某个进程,这会完全搞砸盒子里面的世界?
当我停下容器时,所有进程都按照我的预期消失了.
这是Docker的设计方式..而且有缺陷的隔离是你在交易中必须接受的轻量级与Virtualbox/Vagrant相比......或者我做错了什么?
谢谢!
我有两个python脚本:
#1. getUrl.py # used to collect target urls which takes about 10 mins and used as the input for the next script
#2. monitoring.py # used to monitoring the website.
00 01 * * * /usr/bin/python /ephemeral/monitoring/getUrl.py > /ephemeral/monitoring/input && /usr/bin/python /ephemeral/monitoring/monitoring.py >> /ephemeral/monitoring/output
Run Code Online (Sandbox Code Playgroud)
我把这个命令放在crontab中,想知道我怎么能把那个长命令写成两三行.类似下面的python行分隔符示例,但对于Crontab命令,所以它更具可读性:
>>> print \
... 'hel\
... llo'
helllo
Run Code Online (Sandbox Code Playgroud) 嗨我在我的Mac上安装了Python Scrapy,我试图在他们的网站上关注第一个例子.
他们试图运行命令:
scrapy crawl mininova.org -o scraped_data.json -t json
Run Code Online (Sandbox Code Playgroud)
我不太明白这是什么意思?看起来scrapy原来是一个单独的程序.而且我认为他们没有一个名为crawl的命令.在示例中,它们有一段代码,它是MininovaSpider类和TorrentItem的定义.我不知道这两个类应该去哪里,转到同一个文件,这个python文件的名称是什么?