小编Pio*_*trK的帖子

Python:覆盖两个变量

在我使用python期间,我遇到了一个阻塞问题.我有一些SomeFunction应该做一些简单的计算(并且还要对它进行排序 - 我删除那段代码以使其更清晰)在给定的整数向量上并返回新的.主要问题是,每个内部循环的结果必须成为下一个的输入,但变量k和X似乎在内存中具有相同的地址.

功能如下:

def SomeFunction(k, N):
    X = range(N);
    for i in range(N):
        for j in range(3):
            X[i] = k[i]*2;
        print "X:";
        print X;
        print "k -> :";
        print k
        k = X;
        print "============================";
    return k;
Run Code Online (Sandbox Code Playgroud)

它产生输出:

    X:
    [0, 1, 2, 3, 4, 5, 6, 7]
    k -> :
    [0, 1, 2, 3, 4, 5, 6, 7]
    ============================

    X:
    [0, 8, 2, 3, 4, 5, 6, 7]
    k -> :
    [0, 8, 2, 3, 4, 5, 6, 7] …

python sorting variables overwrite

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

文件名、目录名或卷标语法不正确

我有一个简单的 python (2.7) 脚本,应该执行一些 svn 命令:

def getStatusOutput(cmd):
    print cmd
    p = subprocess.Popen([cmd],stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
    output, status = p.communicate()
    return status, output

svn_cmd = [
        ["svn co " + FIRMWARE_URL + "/branches/interfaces/ interfaces --depth empty", ""],
        ["svn up interfaces/actual_ver.txt", "  Getting current version of a branch "]
        ]
status, output = getStatusOutput(svn_cmd[0][0])
Run Code Online (Sandbox Code Playgroud)

不幸的是,当它在我朋友的机器上运行时,它失败并出现错误:“文件名、目录名或卷标语法不正确。” 当我在我的机器上运行它时,它工作正常。

如果我改变:

status, output = getStatusOutput(svn_cmd[0][0])
Run Code Online (Sandbox Code Playgroud)

status, output = getStatusOutput(svn_cmd[0])
Run Code Online (Sandbox Code Playgroud)

然后它将成功执行数组的第一个元素(命令),但第二个元素(注释)将失败。有谁知道可能出了什么问题吗?

python svn out

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

标签 统计

python ×2

out ×1

overwrite ×1

sorting ×1

svn ×1

variables ×1