小编Ivo*_*cky的帖子

如何使用PowerShell替换文件中的多个字符串

我正在编写一个用于自定义配置文件的脚本.我想在这个文件中替换多个字符串实例,我尝试使用PowerShell来完成这项工作.

它适用于单个替换,但执行多次替换非常慢,因为每次它必须再次解析整个文件,并且此文件非常大.该脚本如下所示:

$original_file = 'path\filename.abc'
$destination_file =  'path\filename.abc.new'
(Get-Content $original_file) | Foreach-Object {
    $_ -replace 'something1', 'something1new'
    } | Set-Content $destination_file
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西,但我不知道如何写它:

$original_file = 'path\filename.abc'
$destination_file =  'path\filename.abc.new'
(Get-Content $original_file) | Foreach-Object {
    $_ -replace 'something1', 'something1aa'
    $_ -replace 'something2', 'something2bb'
    $_ -replace 'something3', 'something3cc'
    $_ -replace 'something4', 'something4dd'
    $_ -replace 'something5', 'something5dsf'
    $_ -replace 'something6', 'something6dfsfds'
    } | Set-Content $destination_file
Run Code Online (Sandbox Code Playgroud)

powershell replace

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

计算不规则间隔点密度的有效方法

我正在尝试生成有助于识别热点的地图叠加图像,即地图上具有高密度数据点的区域.我尝试过的方法都没有足够快我的需求.注意:我忘了提到算法在低和高变焦场景(或低和高数据点密度)下都能正常工作.

我查看了numpy,pyplot和scipy库,我能找到的最接近的是numpy.histogram2d.如下图所示,histogram2d输出相当粗糙.(每个图像都包含覆盖热图的点以便更好地理解)

在此输入图像描述 我的第二次尝试是迭代所有数据点,然后计算作为距离函数的热点值.这样可以产生更好看的图像,但是在我的应用程序中使用它太慢了.因为它是O(n),所以100分可以正常工作,但是当我使用30000点的实际数据集时会爆炸.

我最后的尝试是将数据存储在KDTree中,并使用最近的5个点来计算热点值.这个算法是O(1),大数据集的速度要快得多.它仍然不够快,生成256x256位图需要大约20秒,我希望这可以在大约1秒钟内发生.

编辑

6502提供的boxsum平滑解决方案在所有缩放级别都能很好地工作,并且比我原来的方法快得多.

Luke和Neil G提出的高斯滤波器解决方案是最快的.

您可以在下面看到所有四种方法,总共使用1000个数据点,在3倍变焦处可见约60个点.

在此输入图像描述

生成原始3次尝试的完整代码,由6502提供的boxsum平滑解决方案和Luke建议的高斯滤波器(改进以更好地处理边缘并允许放大)在这里:

import matplotlib
import numpy as np
from matplotlib.mlab import griddata
import matplotlib.cm as cm
import matplotlib.pyplot as plt
import math
from scipy.spatial import KDTree
import time
import scipy.ndimage as ndi


def grid_density_kdtree(xl, yl, xi, yi, dfactor):
    zz = np.empty([len(xi),len(yi)], dtype=np.uint8)
    zipped = zip(xl, yl)
    kdtree = KDTree(zipped)
    for xci in range(0, len(xi)):
        xc = xi[xci]
        for yci in range(0, len(yi)):
            yc = yi[yci]
            density = 0.
            retvalset = kdtree.query((xc,yc), k=5) …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib scipy

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

无法启动应用程序(CreateProcess error = 87),无法使用缩短classpath的变通方法

当我在Windows上的Eclipse中启动应用程序时,我收到以下错误:

执行命令行时发生异常.

无法运行程序..:CreateProcess error = 87,参数不正确

我通过缩短CLASSPATH来解决这个问题.

我现在已经到了无法缩短CLASSPATH的地步,并且想知道是否还有其他解决方法.

http://support.microsoft.com/kb/830473似乎表明windows xp中的max命令提示行长度是8191个字符,唯一的解决方案是缩短文件夹名称,减少文件夹树的深度,使用参数文件,等等

eclipse windows-xp

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

是否可以在OpenGrok中执行区分大小写的搜索?

查看OpenGrok帮助页面显示搜索查询基于Lucene,Lucene反过来表明搜索查询转换为小写.我想知道是否有任何方法可以更改此行为并执行区分大小写的搜索.

opengrok

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

ANT:如何修改构建文件中的java.library.path

java.library.path属性似乎是只读的.例如,当您在以下构建文件上运行ant时

<project name="MyProject" default="showprops" basedir=".">
    <property name="java.library.path" value="test"/>
    <property name="some.other.property" value="test1"/>
    <target name="showprops">
        <echo>java.library.path=${java.library.path}</echo>
        <echo>some.other.property=${some.other.property}</echo>
    </target>
</project>
Run Code Online (Sandbox Code Playgroud)

你得到

> ant -version
Apache Ant version 1.6.5 compiled on June 2 2005

> ant -Djava.library.path=commandlinedefinedpath
Buildfile: build.xml
showprops:
    [echo] java.library.path=commandlinedefinedpath
    [echo] some.other.property=test1
BUILD SUCCESSFUL
Total time: 0 seconds
Run Code Online (Sandbox Code Playgroud)

输出表明java.library.path尚未更改,但 some.other.property已正确设置.

我想知道如何修改构建文件中的java.library.path.在ant命令行上指定java.library.path并不是一个简单的选项,因为当时不知道库路径位置.

注意:我希望这可以工作,以便我可以指定单元测试中使用的本机库的位置.

java ant

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

如何撤消svn中文件的删除

复制:在subversion中取消删除文件的简单方法是什么?


撤消删除文件并保留文件历史记录的最佳方法是什么.

我偶然删除了一个文件,并将其与其他更改一起提交.

我可以获得该文件的旧版本并将其添加到svn,但我认为这种方法将失去更改历史记录.

我如何保留历史?

svn

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

如何在 Java Swing 中的拖放过程中启用工具提示显示

如何在执行拖放操作时显示工具提示。拖放操作期间的工具提示显示似乎被禁用或未触发。我想使用工具提示向用户指示删除被拒绝的原因。

java swing

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

如何注释掉XML元素(使用minidom DOM实现)

我想在xml文件中注释掉特定的XML元素.我可以删除该元素,但我更愿意将其注释掉,以防以后需要它.

我删除元素时使用的代码如下所示:

from xml.dom import minidom

doc = minidom.parse(myXmlFile)
for element in doc.getElementsByTagName('MyElementName'):
if element.getAttribute('name') in ['AttribName1', 'AttribName2']:
    element.parentNode.removeChild(element)
f = open(myXmlFile, "w")
f.write(doc.toxml())
f.close()
Run Code Online (Sandbox Code Playgroud)

我想修改它,以便它注释掉元素而不是删除它.

python xml minidom

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

从图形上删除轴

是否可以从轴上拆下轴pyplot.figure()

使用pyplot.imsave()来创建没有轴的图像就可以了

plt.imsave(file, zi)
Run Code Online (Sandbox Code Playgroud)

图像使用pyplot.imsave()生成

但这是有限的,因为它仅适用于网格数据。

当我使用pyplot.figure()并按pyplot.savefig()如下方式保存时

...
# create figure
fig = plt.figure(figsize=(1.0,1.0))
# apply contour plot
plt.contour(zi,15,linewidths=0.1,colors='k')
plt.contourf(zi,15,cmap=plt.cm.jet)
# flip the y-axis
ax = plt.gca()
ax.set_ylim(ax.get_ylim()[::-1])
# save to file, 256x256 pixels
plt.savefig(file1, dpi=256)
Run Code Online (Sandbox Code Playgroud)

图像使用pyplot.savefix()生成

如上图所示,保存的图像保持其轴线。

python axes matplotlib figure

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

标签 统计

python ×3

java ×2

matplotlib ×2

ant ×1

axes ×1

eclipse ×1

figure ×1

minidom ×1

numpy ×1

opengrok ×1

powershell ×1

replace ×1

scipy ×1

svn ×1

swing ×1

windows-xp ×1

xml ×1