小编Jea*_*bre的帖子

ASP.Net上的预编译和启动时间

我正在ASP.Net 2.0中开发一个(相对较小的)网站.在发送可执行文件之前,我还使用nAnt对我的项目进行一些简单的调整.在目前的状态下,该网站使用"预编译"

aspnet_compiler.exe -nologo -v ${Appname} -u ${target}

我注意到在重新启动IIS池之后(在空闲关闭或循环之后),应用程序在重新联机(并且到达Application_start)之前最多需要20秒.

我在Visual Studio中直接调试时没有相同的问题(启动需要2秒),所以我想知道aspnet_compiler是不是真的好主意.

我在MSDN上找不到多少.如何编译您的网站进行制作?

c# asp.net compilation aspnet-compiler startup

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

在Ant中在运行时创建具有动态内容的Union和Macrodef样式元素

我有一个用Ant构建的构建脚本,它有一个macrodef,它接受一些默认参数,target,root等,然后是一个可选的两个,extrasrc-f和extrasrc-c.在他们进来之后,我喜欢对所有相关资源进行最新检查,然后只在目标过期时才进行构建.

我现在拥有的是什么

<?xml version="1.0" encoding="UTF-8"?>
<project name="Custom build" default="default">

    <taskdef resource="net/sf/antcontrib/antlib.xml"
        classpath="C:/dev/ant/ant-contrib/ant-contrib-1.0b3.jar"/>

    <macrodef name="checkuptodate">
        <attribute name="target" />
        <element name="resource" />
        <sequential>
            <condition property="needbuild">
                <and>
                    <resourcecount when="greater" count="0"> <resource /> </resourcecount>
                    <not>
                        <uptodate targetfile="@{target}">
                            <srcresources> <resource /> </srcresources>
                        </uptodate>
                    </not>
                </and>
            </condition>
        </sequential>
    </macrodef>

    <macrodef name="projbuild">
        <attribute name="root" />
        <attribute name="target" />

        <element name="extrasrc-f" optional="true" />
        <element name="extrasrc-c" optional="true" />
        <sequential>
            <local name="needbuild" />
            <checkuptodate target="@{root}/bin/@{target}">
                <resource>
                    <union>
                        <extrasrc-f />
                        <fileset dir="@{root}/src" includes="**/*.java" />
                    </union>
                </resource>
            </checkuptodate>

            <if>
                <istrue value="${needbuild}" /> …
Run Code Online (Sandbox Code Playgroud)

ant union element macrodef

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

更改字符串中其他字符的多个字符

我正在尝试操纵一个字符串。

从一个字符串中提取所有元音后,我想用同一字符串中的所有'v'替换为'b',所有'b'替换为'v'(ig“ accveioub”首先将变为ccvb,然后变为ccbv)。

我在交换字符时遇到问题。我最终得到了ccvv,我想我会根据这段代码得到它。我正在考虑遍历字符串,并使用if语句基本上停留在索引i .equals“ v”处的字符,然后将其替换为“ b”,而else语句,将“ b”替换为“ v”,然后将字符追加或合并在一起?

这是我的代码

def Problem4():
    volString = {"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"}
    s = "accveioub"
    chars = []
    index = 0

    #Removes all the vowels with the for loop
    for i in s:
        if i not in volString:
            chars.append(i)
    s2 = "".join(chars)
    print(s2)
    print(s2.replace("v", "b"))
    print(s2.replace("b", "v"))

>>> Problem4()
ccvb
ccbb
ccvv
>>> 
Run Code Online (Sandbox Code Playgroud)

python string

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

如何将元组附加到numpy数组而不是按元素方式执行?

如果我试试

x = np.append(x, (2,3))

元组(2,3)没有得到追加到数组的末尾,而23获得单独附加,即使我最初宣布x

x = np.array([], dtype = tuple)

要么

x = np.array([], dtype = (int,2))

这样做的正确方法是什么?

python arrays numpy

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

如何禁用此特定警告

这个简单的代码:

#define WIDTH 500.5
#define NB 23.2

int x[(int)(WIDTH/NB)];
Run Code Online (Sandbox Code Playgroud)

给我一个警告:

prog.c:4:1: warning: variably modified 'x' at file scope [enabled by default]
Run Code Online (Sandbox Code Playgroud)

如果我设置#define WIDTH 500#define NB 23,警告消失.

WIDTH编译器传递宏强制评估浮点值,从而发出警告,因为数组没有常量大小.

预处理的C代码看起来像int x[(int)(500.5/23.2)];,但int x[(int)(500/23)];对于编译器是可以的(值已经是常量整数)

我也希望找到一种方法

有趣的事情:编译g++我没有警告,而我在这里读到可变长度数组在C++中没有正式支持,仅在C99中.但这对我来说不是一个选择,因为我需要坚持C.

c gcc warnings

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

TypeError:bar()为关键字参数“ height”获得了多个值

我试图使用python重新创建我的excel图表之一,但现在不断撞墙:

这是我尝试过的代码:

import matplotlib.pyplot as plt
from numpy import arange

myfile = open(r'C:\Users\user\Desktop\Work In Prog\Alpha Data.csv', 'r')

label = [] # this is a string of the label
data = []  #this is some integer, some are the same value

for lines in myfile:

    x = lines.split(',')
    label.append(x[1])
    data.append(x[4])

dataMin = float(min(data))
dataMax = float(max(data))

pos = arange(dataMin, dataMax, 1)

p1 = plt.bar(pos, data, color='red', height=1)

plt.show()
Run Code Online (Sandbox Code Playgroud)

python bar-chart python-2.7

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

在元组列表上使用二等分,但仅使用第一个值进行比较

我阅读有关如何bisect在元组列表上使用的问题,并使用该信息来回答该问题。它有效,但我想要一个更通用的解决方案。

由于bisect不允许指定key函数,如果我有这个:

import bisect
test_array = [(1,2),(3,4),(5,6),(5,7000),(7,8),(9,10)]
Run Code Online (Sandbox Code Playgroud)

我想找到x > 5这些(x,y)元组的第一个项目(根本不考虑y,我目前正在这样做:

bisect.bisect_left(test_array,(5,10000))
Run Code Online (Sandbox Code Playgroud)

我得到了正确的结果,因为我知道noy大于 10000,所以将bisect我指向(7,8). 如果我1000换了,那就错了。

对于整数,我可以做

bisect.bisect_left(test_array,(5+1,))
Run Code Online (Sandbox Code Playgroud)

但在可能有浮点数的一般情况下,如何在不知道第二个元素的最大值的情况下做到这一点?

test_array = [(1,2),(3,4),(5.2,6),(5.2,7000),(5.3,8),(9,10)]
Run Code Online (Sandbox Code Playgroud)

我试过这个:

bisect.bisect_left(test_array,(min_value+sys.float_info.epsilon,))
Run Code Online (Sandbox Code Playgroud)

它没有用,但我试过这个:

bisect.bisect_left(test_array,(min_value+sys.float_info.epsilon*3,))
Run Code Online (Sandbox Code Playgroud)

它奏效了。但这感觉就像一个糟糕的黑客。任何干净的解决方案?

python comparison tuples bisect

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

如何移动'list'的'index'方法的偏移量

我知道索引函数的工作方式如下:

list = ['dog','cat','pizza','trump', 'computer', 'trump']
print list.index('trump')
Run Code Online (Sandbox Code Playgroud)

输出将是3.但现在我希望他打印另一个'特朗普'字符串,它来自2个对象.但如果我会做同样的命令:

print list.index('trump')
Run Code Online (Sandbox Code Playgroud)

他将再次打印3 - 他看到的第一个特朗普.那么如何移动索引函数的'offset',所以她会在索引5中检测到另一个特朗普?非常感谢你们!

python list offset

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

使用单个命令加载多个 R 包

可以使用以下命令使用 package中的Rfunction 函数加载多个包:p_loadpacman R

pacman::p_load("ggplot2", "lme4")
Run Code Online (Sandbox Code Playgroud)

但是,我想使用这样的命令

Packages <- c("ggplot2", "lme4")
pacman::p_load(Packages)
Run Code Online (Sandbox Code Playgroud)

这是行不通的。想知道如何实现这一点?

r package pacman-package-manager

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

当递归变得非常深时,理解中的递归调用有什么特别之处?

我注意到当我在列表理解中使用递归时会发生一些奇怪的事情.如果递归过深,解释器似乎空闲(我等了5分钟,什么都没发生).

为了这个问题,假设我想要展平嵌套列表(我没有 - 但它是一个简短的代码示例,说明了我遇到的问题):

def flatten(x):
    if isinstance(x, list):
        return [a for i in x for a in flatten(i)]
    else:
        return [x]
Run Code Online (Sandbox Code Playgroud)

使用辅助函数创建嵌套列表:

def wrap_in_lists(value, depth):
    a = value
    for _ in range(depth):
        a = [a]
    return a
Run Code Online (Sandbox Code Playgroud)

使用时效果很好:

>>> flatten(wrap_in_lists(1, 2**10))
[1]
Run Code Online (Sandbox Code Playgroud)

但是当我使用时它完全停止:

>>> flatten(wrap_in_lists(1, 2**11))
# Nothing happens, no exception, no result, no segfault, ...
Run Code Online (Sandbox Code Playgroud)

我的问题是:这里发生了什么?为什么根本没有回应?


奇怪的是,使用生成器的类似方法不会显示此行为:

def flatten(l):
    def inner(x):
        for item in x:
            if isinstance(item, list):
                yield from inner(item)
            else:
                yield item
    return list(inner(l))

>>> flatten(wrap_in_lists(1, …
Run Code Online (Sandbox Code Playgroud)

python recursion list-comprehension jupyter

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