我有一个文件,我试图每隔四行读取(并写入另一个文件).我正在使用的解决方案没有给出预期的结果.
为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.
我将如何改变这一点以获得理想的结果?
我对图像处理非常业余。我可以成功地进行正常阈值处理,但是我在自适应阈值处理中遇到了错误。这是我的代码:
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 跟踪红色对象。这是我到目前为止的代码:
#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) 具有作为灰度像素的正方形区域的Mat.如何创建一条直线,其方向被创建为与大多数像素值垂直的方向改变方向(平均梯度,整个Mat上的平均值,结果将只是一个方向(然后可以绘制为一条线))?
例如有
看起来像
如何在OpenCV(在python或C++中)做这样的事情?
我试图创建一个正则表达式,它允许任意数量的辅音,或任意数量的元音,或辅音和元音的混合,这样我们在开头只有任意数量的辅音,然后只有任意数量的元音,没有元音之后应该允许辅音,从例子中会更清楚:
以下情况应该通过:
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)
但它适用于所有情况,我需要一个正确的表达式来提供所需的结果。
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) 嗨,我正在处理一个小脚本。我尝试打印的所有文件在当前目录中并存储filename:filesize为key: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) 我正在尝试对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编号模式?
谢谢,
我有一个 Django 模型字段定义,如下所示:
landMark = models.CharField(max_length=50, blank=True)
我可以landMark动态定义该字段,以便它能够容纳不同大小的字符串吗?
鉴于此命令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)