小编kri*_*itx的帖子

如何从Python中删除字符串末尾的逗号?

如何从字符串末尾删除逗号?我试过了

awk = subprocess.Popen([r"awk", "{print $10}"], stdin=subprocess.PIPE)
awk_stdin = awk.communicate(uptime_stdout)[0]
print awk_stdin
temp = awk_stdin
t = temp.strip(",")
Run Code Online (Sandbox Code Playgroud)

也尝试过t = temp.rstrip(","),两个都不行.


这是代码:

uptime = subprocess.Popen([r"uptime"], stdout=subprocess.PIPE)
uptime_stdout = uptime.communicate()[0]
print uptime_stdout

awk = subprocess.Popen([r"awk", "{print $11}"], stdin=subprocess.PIPE)
awk_stdin = awk.communicate(uptime_stdout)[0]
print repr(awk_stdin)
temp = awk_stdin
tem = temp.rstrip("\n")
logfile = open('/usr/src/python/uptime.log', 'a')
logfile.write(tem + "\n")
logfile.close()
Run Code Online (Sandbox Code Playgroud)

这是输出:

 17:07:32 up 27 days, 37 min,  2 users,  load average: 5.23, 5.09, 4.79

5.23,
None
Traceback (most recent call last):
  File …
Run Code Online (Sandbox Code Playgroud)

python string

3
推荐指数
2
解决办法
2万
查看次数

python在函数中存储变量并在以后使用它

是否可以将while循环中的变量存储到函数中,然后在循环结束时从函数中调用该变量

例如:在while循环期间,问题在于当我尝试从store()检索变量时它失败了...因为它需要传递参数.

def store(a,b,c):
    x1 = a
    y1 = b
    z1 = c
    return (x1,y1,z1)

def main():
    while condition:
          x = .......
          y = .......
          z = .......
          ......
          ......
          store(x,y,z) #store to function...
          ......
          ......
          ......
          s1,s2,s3 = store()
          ......
          ......
          ......
Run Code Online (Sandbox Code Playgroud)

python

3
推荐指数
3
解决办法
5万
查看次数

python stdout回车

我正在给定一组文件上运行for循环.为了监视目的,它写入当前正在处理文件的输出.

sys.stdout.write("\rProcessing.... "+ j)
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)

其中j是文件名

脚本输出......

Processing.... /etc/sysconfig/rhn/sources0.examplewn-slepcsbals-ipv6f
Run Code Online (Sandbox Code Playgroud)

问题是回车"\ r \n"没有清楚地清除以前的文件名并且上面有文件名.

任何想法我如何解决这个问题......并使其更加清晰

python

3
推荐指数
1
解决办法
7236
查看次数

logstash org.elasticsearch.discovery.MasterNotDiscoveredException错误

我已经使用elasticcsearch-0.20.6安装了logstash 1.1.13以下的logstash.conf配置

input {
tcp {
port => 524
type => rsyslog
}
udp {
port => 524
type => rsyslog
}
}
filter {
grok {
type => "rsyslog"
pattern => [ "<%{POSINT:syslog_pri}>%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{PROG:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" ]
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{@source_host}" ]
}
syslog_pri {
type => "rsyslog"
}
date {
type => "rsyslog"
syslog_timestamp => [ "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
mutate {
type => "rsyslog"
exclude_tags => …
Run Code Online (Sandbox Code Playgroud)

java linux elasticsearch logstash

3
推荐指数
1
解决办法
2万
查看次数

apache pig count sort

我正在阅读猪的apache日志,它计算了ip的总连接数.

A = LOAD 'access.log' using PigStorage(' ') as (f0:chararray,f1:chararray,f2:chararray,f3:chararray,f4:chararray,f5:chararray,f6:chararray);
grp_f5 = GROUP A by f5; 
counts = FOREACH grp_f5 GENERATE group, COUNT(A);
store counts into '/data/accesslog' using PigStorage(','); 
Run Code Online (Sandbox Code Playgroud)

结果:

2.50.3.29,71
71.5.94.4,30
12.0.19.50,6
12.53.17.3,4
155.69.4.4,37
166.77.6.8,12
218.0.7.30,1956
5.10.83.28,1
5.86.82.80,177
50.18.2.73,1
59.10.5.53,377
Run Code Online (Sandbox Code Playgroud)

但是数据没有按计数排序,任何想法?

hadoop mapreduce apache-pig

3
推荐指数
1
解决办法
8074
查看次数

python kivy在矩形内添加文本

如何在矩形内添加文本?我正在使用下面的代码,并在画布内添加了一个标签,希望它将显示在矩形内.

import kivy
from kivy.app import App
from kivy.uix.anchorlayout import AnchorLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.video import Video
from kivy.uix.relativelayout import RelativeLayout
from kivy.graphics import *

class MyApp(App):
    def build(self):
        r = AnchorLayout()
        f = RelativeLayout()
        g = GridLayout(cols=3, rows=5)
        v = Video(source='driver.mp4', state='play', options={'eos':'loop'})
        l1 = Label(text="jenkins", font_size=32)
        l2 = Label(text="git", font_size=32)
        f.add_widget(v)
        f.add_widget(g)
        g.add_widget(l1)
        g.add_widget(l2)
        with g.canvas:
            Color(.4, .1, .1)
            Rectangle(pos=(100,10), size=(100,100))
            Label(text="KSHK")
        return f

if __name__ == "__main__":
    MyApp().run()
Run Code Online (Sandbox Code Playgroud)

更新: 这不会将文本对齐ColoredLabel的中心

import …
Run Code Online (Sandbox Code Playgroud)

python linux kivy

3
推荐指数
1
解决办法
2142
查看次数

python csv在文件中查找文本,然后查找特定列

我有一个像csv的数据库

apple,10,red,date
orange,12,yellow,date
pear,13,green,date
pineapple,14,brown,date
Run Code Online (Sandbox Code Playgroud)

我想首先搜索例如:菠萝然后获得第三列"从它,我需要一些想法,我使用python csv模块

我能得到

#!/usr/bin/env python


import csv
import sys

file = open("/tmp/database.txt", 'rt')
reader = csv.reader(file)
for i in reader:
   print i
Run Code Online (Sandbox Code Playgroud)

输出:

['apple', '10', 'red', 'date']
['orange', '12', 'yellow', 'date']
['pear', '13', 'green', 'date']
['pineapple', '14', 'brown', 'date']
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
3360
查看次数

当年份是两位数时,python从字符串中断转换日期

我正在尝试将日期字符串转换为日期格式

>>> str = "04-18-2002 03:50PM"

>>> time.strptime(str, '%m-%d-%Y %H:%M%p')
time.struct_time(tm_year=2002, tm_mon=4, tm_mday=18, tm_hour=3, tm_min=50, tm_sec=0, tm_wday=3, tm_yday=108, tm_isdst=-1)
Run Code Online (Sandbox Code Playgroud)

然而,当年份是两位数时,它会中断

>>> str = "04-18-02 03:50PM"
>>> time.strptime(str, '%m-%d-%Y %H:%M%p')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/_strptime.py", line 454, in _strptime_time
    return _strptime(data_string, format)[0]
  File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data '04-18-02 03:50' does not match format '%m-%d-%Y %H:%M'
Run Code Online (Sandbox Code Playgroud)

有任何想法吗??

python linux

2
推荐指数
1
解决办法
2670
查看次数

java解析日志文件

我正在尝试解析以此格式登录的apache日志文件

LogFormat "%t %u [%D %h %{True-Client-IP}i %{UNIQUE_ID}e %r] %{Cookie}i %s \"%{User-Agent}i\" \"%{host}i\" %l %b %{Referer}i"
Run Code Online (Sandbox Code Playgroud)

下面是我正在测试的代码......

import java.util.regex.*;


interface LogExample {
    /** The number of fields that must be found. */
    public static final int NUM_FIELDS = 11;

    /** The sample log entry to be parsed. */
    public static final //String logEntryLine = "123.45.67.89 - - [27/Oct/2000:09:27:09 -0400] \"GET /java/javaResources.html HTTP/1.0\" 200 10450 \"-\" \"Mozilla/4.6 [en] (X11; U; OpenBSD 2.8 i386; Nav)\"";
    String logEntryLine = "[02/Dec/2013:14:10:30 -0000] - [52075 …
Run Code Online (Sandbox Code Playgroud)

java apache logging

2
推荐指数
1
解决办法
1万
查看次数

有关如何处理日志的hadoop建议

我需要一些关于如何使用Java中的hadoop而不是Pig处理基础结构日志的建议,因为我认为Pig在读取日志文件时不支持正则表达式过滤器.

例如,我有cisco日志和Web服务器日志,我想按行过滤特定值并输入hadoop.

在线有几个建议,即首先将其更改为csv格式,但如果日志文件是GBs ???

是否可以在"map"阶段过滤行,即程序将从HDFS中的文件中读取行并将其发送到mapper ...

我需要一些关于最佳方式和清洁方式的建议....

谢谢.

java regex linux apache-pig

1
推荐指数
1
解决办法
146
查看次数