无忧启动论坛

标题: 求linux大神帮忙写个脚本啊。。。。谢谢了 [打印本页]

作者: 201181795791    时间: 2015-11-1 17:33
标题: 求linux大神帮忙写个脚本啊。。。。谢谢了
本帖最后由 201181795791 于 2015-11-1 17:35 编辑

在这 里面分别提取 pm25,pm10,so2,no2,o3,co的参数
然后输出到文本文档,像这样 其中1-24数字是最近24次提取的数据,1是最近一次提取的数据,并且只在17行间循环。
附上附件: 帮忙写个脚本.rar (314.74 KB, 下载次数: 8)

作者: 2012tzyx    时间: 2015-11-5 11:09
本帖最后由 2012tzyx 于 2015-11-5 11:13 编辑

python脚本可以不?
  1. #! /usr/bin/env python
  2. import json,os
  3. params = ['pm25','pm10','so2','no2','o3','co']
  4. before = [[] for i in range(6)]
  5. if os.path.exists('output.txt'):
  6.     with open('output.txt','r') as f:
  7.         lines = f.readlines()
  8.         for i in range(6):
  9.             line = lines[i][:-2].split(';')[1:]
  10.             before[i] = line[max(0,len(line)-24):]
  11. with open('111','r') as f:
  12.     raw = f.read()
  13.     data = json.loads(raw)['HeWeather data service 3.0'][0]['aqi']['city']
  14.     for i in range(6):
  15.         before[i].append(data[params[i]])
  16. with open('output.txt','w+') as f:
  17.     for i in range(6):
  18.         f.write(params[i] +';' +';'.join(before[i]) +';\n')
复制代码

作者: 201181795791    时间: 2015-11-5 13:56
2012tzyx 发表于 2015-11-5 11:09
python脚本可以不?

可以,谢谢大神,把那个24改成23就能24次循环了,,,,大神留步  还有个问题,, 这个为啥报错。。。 桌面.zip (1.03 KB, 下载次数: 1) 附上使用的附件
作者: 2012tzyx    时间: 2015-11-5 14:59
201181795791 发表于 2015-11-5 13:56
可以,谢谢大神,把那个24改成23就能24次循环了,,,,大神留步  还有个问题,,这个为啥报错。。。附上 ...

不知道你是怎么安装第三方包的,pillow模块正常情况下应该是安装在/usr/lib/python2.7/site-packages/PIL这个路径下面
先pip install pillow重新安装一下试试
如果没有安装pip,也可以下载源码并解压,再执行python setup.py install
然后导入模块时这样写:
from PIL import Image
from PIL.ImageDraw import Draw
作者: 2012tzyx    时间: 2015-11-5 15:24
201181795791 发表于 2015-11-5 13:56
可以,谢谢大神,把那个24改成23就能24次循环了,,,,大神留步  还有个问题,,这个为啥报错。。。附上 ...

我想你安装的可能是PIL,这个库已经停止维护很久了,就算存在bug也不会有人修复的。
所以现在大都推荐使用pillow,它的使用方法同PIL一样。
作者: 201181795791    时间: 2015-11-5 15:53
2012tzyx 发表于 2015-11-5 15:24
我想你安装的可能是PIL,这个库已经停止维护很久了,就算存在bug也不会有人修复的。
所以现在大都推荐使 ...

我的环境是群晖dsm,,,自带py2.7.9  套件里面都安装了扩展库的  但是运行的脚本的时候 还是提示没有image和imagedraw组件。所以我从pil文件夹里面吧这2个py复制到py2.7下面的。。。。
作者: 201181795791    时间: 2015-11-6 08:30
改成from PIL import Image
from PIL.ImageDraw import Draw这样就好了。。。。。谢谢大神
作者: 呜啦啦    时间: 2015-11-10 13:35
用正则表达式进行行处理更方便些:
#!/bin/sh


while read line
do
        pm25inline=`echo $line | egrep -o "\"pm25\":\"[[:alnum:]]+\"" | cut -d: -f2 | cut -d\" -f2 `
        pm25result="${pm25inline};${pm25result}"
        pm10inline=`echo $line | egrep -o "\"pm10\":\"[[:alnum:]]+\"" | cut -d: -f2 | cut -d\" -f2 `
        pm10result="${pm10inline};${pm10result}"
        so2inline=`echo $line | egrep -o "\"so2\":\"[[:alnum:]]+\"" | cut -d: -f2 | cut -d\" -f2 `
        so2result="${so2inline};${so2result}"
done < 111

pm25result="pm25;${pm25result}"
echo $pm25result >out.txt

pm10result="pm10;${pm10result}"
echo $pm10result >>out.txt

so2result="so2;${so2result}"
echo $so2result >>out.txt

作者: 201181795791    时间: 2016-4-14 13:48
2012tzyx 发表于 2015-11-5 11:09
python脚本可以不?

大神还在么  再请教下  这个脚本 初始运行要这样 而您这个初始运行是这样   怎么弄呢?
作者: 201181795791    时间: 2016-4-14 13:49
呜啦啦 发表于 2015-11-10 13:35
用正则表达式进行行处理更方便些:
#!/bin/sh

输出啥都没额。。。不知道咋回事。。
作者: 2012tzyx    时间: 2016-4-15 12:54
[ 本帖最后由 2012tzyx 于 2016-4-15 12:57 编辑 ]\n\n[quote][color=#999999]201181795791 发表于 2016-4-14 13:48[/color]
[color=#999999]大神还在么  再请教下  这个脚本 初始运行要这样 而您这个初始运行是这样  怎么弄呢?[/color][/quote]

在这句
        before[i].append(data[params[i]])
的后面,加上
        before[i] = [''] * (24 - len(before[i])) + before[i]
作者: 201181795791    时间: 2016-4-20 08:47
2012tzyx 发表于 2016-4-15 12:54
[ 本帖最后由 2012tzyx 于 2016-4-15 12:57 编辑 ]\n\n

在这句

好了  谢谢大神
作者: 201181795791    时间: 2016-4-20 08:47
2012tzyx 发表于 2016-4-15 12:54
[ 本帖最后由 2012tzyx 于 2016-4-15 12:57 编辑 ]\n\n

在这句

好了  谢谢大神
作者: 201181795791    时间: 2017-11-30 01:02
2012tzyx 发表于 2015-11-5 14:59
不知道你是怎么安装第三方包的,pillow模块正常情况下应该是安装在/usr/lib/python2.7/site-packages/PIL ...

大神再找你帮个忙,,,,,

主要是想随机复制文件
有文件夹A和文件夹B  A里面有很对文件名不一样的文件,B文件夹只需要1个固定文件名的文件,是从A随机复制过来的,,,,,求大神帮忙...




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3