小编Zda*_*daR的帖子

阅读Python中的每四行

我有一个文件,我试图每隔四行读取(并写入另一个文件).我正在使用的解决方案没有给出预期的结果.

为sample.txt line1 line2 line3 line4 line5 line6 line7 line8 line9 line10

script.py

from itertools import islice
with open('sample.txt') as fin, open('output.txt','w') as fout:
         fout.writelines(islice(fin,None,None,4))
Run Code Online (Sandbox Code Playgroud)

现在输出文件给我line1,line5,line9而不是line4,line8.

我将如何改变这一点以获得理想的结果?

python

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

自适应阈值 ---ValueError: 太多值无法解包

我对图像处理非常业余。我可以成功地进行正常阈值处理,但是我在自适应阈值处理中遇到了错误。这是我的代码:

import cv2

import numpy as np

img = cv2.imread("vehicle004.jpg")

img = cv2.medianBlur(img,5)

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

_,th2=cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,11,2)

cv2.imshow("window2",th2)

cv2.waitKey(0)

cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

错误信息:

line 7, in <module>
    _,th2 = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,11,2)
ValueError: too many values to unpack
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

python opencv image-processing adaptive-threshold

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

OpenCv Python 颜色检测

我正在尝试在 python 中使用 opencv 跟踪红色对象。这是我到目前为止的代码:

#Identify red objects in an image

#import OpenCV
import cv2
#Import numpy
import numpy as np

#open webcam
imgcap=cv2.VideoCapture(0)

while(1):

    #view the image from the webcam
    _, frame=imgcap.read()
    #convert the image to HSV
    hsv=cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    #lower threshold for red
    lower_red=np.array([0, 100, 75])
    #upper threshold for red
    upper_red=np.array([5, 76, 100])

    mask=cv2.inRange(hsv, lower_red, upper_red)
Run Code Online (Sandbox Code Playgroud)

当我运行它时,出现的错误如下:

OpenCV Error: Sizes of input arguments do not match (The lower bounary is             neither an array of the same size and same …
Run Code Online (Sandbox Code Playgroud)

python opencv image colors detection

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

如何检测强度梯度方向

具有作为灰度像素的正方形区域的Mat.如何创建一条直线,其方向被创建为与大多数像素值垂直的方向改变方向(平均梯度,整个Mat上的平均值,结果将只是一个方向(然后可以绘制为一条线))?

例如有

在此输入图像描述

看起来像

在此输入图像描述

如何在OpenCV(在python或C++中)做这样的事情?

c++ opencv

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

辅音和元音的 Python 正则表达式

我试图创建一个正则表达式,它允许任意数量的辅音,或任意数量的元音,或辅音和元音的混合,这样我们在开头只有任意数量的辅音,然后只有任意数量的元音,没有元音之后应该允许辅音,从例子中会更清楚:

以下情况应该通过:

TR,   EE,   TREE,   Y,   BY. 
Run Code Online (Sandbox Code Playgroud)

但以下不应通过表达式:

TROUBLE,   OATS,   TREES,   IVY, TROUBLES,   PRIVATE,   OATEN,   ORRERY.
Run Code Online (Sandbox Code Playgroud)

所以通常它可以被形象化为: [C] [V]

C - 辅音

V - 元音

[ ] - 其中方括号表示其内容的任意存在。

我达到了这段代码:

import re

def find_m(word):
    if re.match("[^aeiou]*?[aeiou]*?",word):
        print "PASS"
    else:
        print "FAIL"


find_m("tr")
find_m("ee")
find_m("tree")
find_m("y")
find_m("by")
find_m("trouble")
find_m("oats")
find_m("trees")
find_m("ivy")
find_m("aaabbbbaaa")
Run Code Online (Sandbox Code Playgroud)

但它适用于所有情况,我需要一个正确的表达式来提供所需的结果。

python regex

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

如何获取数字列表作为输入并计算总和?

mylist = int(raw_input('Enter your list: '))    
total = 0    
for number in mylist:    
    total += number    
print "The sum of the numbers is:", total
Run Code Online (Sandbox Code Playgroud)

python sum

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

如何在Python中获取当前目录中的所有文件名和文件大小

嗨,我正在处理一个小脚本。我尝试打印的所有文件在当前目录中并存储filename:filesizekey:value成对的size_dir

from os import listdir,environ
from sys import argv
from os.path import isfile,join
import os

size_limit = argv[1]
my_path = "./"
onlyfiles = [f for f in listdir(my_path) if isfile(join(my_path, f))]
sizes = []
size_dir = {}
print size_limit
for item in onlyfiles:
    print type(os.path.getsize(my_path+item))
    if os.path.getsize(my_path+item) < size_limit:
        size_dir[item] = os.path.getsize(my_path+item)
print(size_dir)
Run Code Online (Sandbox Code Playgroud)

我通过以下方式在终端中运行此程序:

python THISFILENAME.py 300
Run Code Online (Sandbox Code Playgroud)

正如我所料,size_limit 从我的输入命令中收到了 300。在 for 循环中,我设置了一个 if 语句来检查文件是否超过 size_limit,如果没有,则将文件添加到 size_dir。但是,当我打印 size_dir 时,我发现 size_dir 包含我当前目录中的每个文件,这不是我所期望的。

结果:

{'dir_print.py': 825, 'argvdemo.py': …
Run Code Online (Sandbox Code Playgroud)

python

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

在Python脚本中对IP地址进行排序

我正在尝试对IP地址进行排序,我将其读入python脚本并打印出来.我起草的代码读取并打印文件的内容(参见示例)

#!/usr/bin/python

f = open('file.txt', 'r')
file_contents = f.read()
print (file_contents)
f.close()
Run Code Online (Sandbox Code Playgroud)

我的问题是如何进行IP地址导入并正确排序?在命令行,我通常会通过一个简单的排序命令传递文件(sort -n -t.-k 1,1 -k 2,2 -k 3,3 -k 4,4).但是我如何让python对它从文件中读取的IP进行排序,以便输出正确排序,同时考虑到IP的每个八位字节的0-255编号模式?

谢谢,

python sorting

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

动态长度Django模型字段

我有一个 Django 模型字段定义,如下所示:

landMark = models.CharField(max_length=50, blank=True)

我可以landMark动态定义该字段,以便它能够容纳不同大小的字符串吗?

python django django-models

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

Python:将阈值应用于numpy数组

鉴于此命令numpy.ndarray:

d={0: np.array([[  9.81650352,  10.03896523,  10.26972675],  [11.76386738,
          11.76718712,  11.63769531]]),
   1: np.array([[  13.33630352,  29.17866523,  17.1005102675],  [41.98976738,
          6.44368712,  2.11764771]])}
Run Code Online (Sandbox Code Playgroud)

以下门槛:

t=10
Run Code Online (Sandbox Code Playgroud)

1如果d中的每个浮点值都是>=t,0那么我想要一个新的dict,如果是的话<t.我的尝试

newd={k:[[1]] or [[0]] for k,[[v]] in d if [[v]]>=t}
Run Code Online (Sandbox Code Playgroud)

收益:

Traceback (most recent call last):

  File "<ipython-input-152-68383ed9ad79>", line 1, in <module>
    newd={k:[[1]] or [[0]] for k,[[v]] in d if [[v]]>=17}

  File "<ipython-input-152-68383ed9ad79>", line 1, in <dictcomp>
    newd={k:[[1]] or [[0]] for k,[[v]] in d if [[v]]>=17}

TypeError: 'int' object is not iterable …
Run Code Online (Sandbox Code Playgroud)

python dictionary dictionary-comprehension

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