我试图使用以下python脚本执行一个简单的git命令.
#!/usr/bin/python
import commands
import subprocess
import os
import sys
pr = subprocess.Popen( "/usr/bin/git log" , cwd = os.path.dirname( '/ext/home/rakesh.kumar/workspace/myproject' ), shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE )
(out, error) = pr.communicate()
print "Error : " + str(error)
print "out : " + str(out)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误,即使我在git reposetory所在的同一目录中运行python脚本.
Error : fatal: Not a git repository (or any of the parent directories): .git
Run Code Online (Sandbox Code Playgroud)
我怀疑git可能会被纠正,但git文件很好,如果我在正常的命令提示符下执行git命令.
我试图在网上搜索但无法获得有用的信息.请帮助它将不胜感激.
在为框架创建测试时,我开始注意以下模式:
class SomeTestCase(unittest.TestCase):
def test_feat_true(self):
_test_feat(self, True)
def test_feat_false(self):
_test_feat(self, False)
def _test_feat(self, arg):
pass # test logic goes here
Run Code Online (Sandbox Code Playgroud)
所以我想以编程test_feat_*
方式使用元类为这些类型的测试类创建方法.换句话说,对于每个带签名的私有方法_test_{featname}(self, arg)
,我想要两个具有签名的顶级可发现方法test_{featname}_true(self)
并test_{featname}_false(self)
创建.
我想出了类似的东西:
#!/usr/bin/env python
import unittest
class TestMaker(type):
def __new__(cls, name, bases, attrs):
callables = dict([
(meth_name, meth) for (meth_name, meth) in attrs.items() if
meth_name.startswith('_test')
])
for meth_name, meth in callables.items():
assert callable(meth)
_, _, testname = meth_name.partition('_test')
# inject methods: test{testname}_{[false,true]}(self)
for suffix, arg in (('false', False), ('true', True)):
testable_name …
Run Code Online (Sandbox Code Playgroud) struct {
char a[10];
char b[5];
char c[10];
} info;
Run Code Online (Sandbox Code Playgroud)
如何将所有struct
数据成员连接成一个单独的数组?
好吧,我只是在学习C并偶然发现这个练习代码来计算角色K&R的书:
#include <stdio.h>
/* count characters in input; 2nd version */
main()
{
double nc;
for (nc = 0; getchar() != EOF; ++nc)
;
printf("%.0f\n", nc);
}
Run Code Online (Sandbox Code Playgroud)
问题是我不知道当我输入任何字符时是否打印字符数量是因为没有任何输出,只有空格(getchar()
等待另一个输入).
有人可以向我解释发生了什么事吗?我在openSUSE 11.3中使用vim练习bash.
我正在做考试复习,其中一个问题说这个代码有问题,我应该修复它.我知道它与void指针有关,但无法弄明白.有谁知道我会做什么?
void whatAmI(void *vp, int n) {
if (n == 1) {
printf(“Integer: %d\n”, vp);
} else if (n == 2) {
printf(“Double: %.2fl\n”, vp);
} else {
printf(“Unknown type!”);
}
}
Run Code Online (Sandbox Code Playgroud)