我正在尝试学习如何在调试标志打开时运行打印大量内容的代码.
怎么在java中完成.
我能想到的一种非常天真的方式是在我编写的所有方法中都有调试标志
写点东西
if (this.debug == true){
System.out.println("blah blah");
}
Run Code Online (Sandbox Code Playgroud)
但是应该有更优雅的方式而不是在代码中包含所有这些ifs?
另外,有没有办法可以在代码中获取某些执行的行号:
例如,如果有异常
try:
Run Code Online (Sandbox Code Playgroud)
/*行号22*/
catch Exception e{
//print that exception occured in above line number??
}
Run Code Online (Sandbox Code Playgroud)
可能是非常蹩脚的问题.谢谢
我有一个长杂乱的文件,我的朋友告诉我,他有标签分隔该文件..但是当我这样做:
tokens = line.split("\t")
Run Code Online (Sandbox Code Playgroud)
它没有分裂......
但我不知道也许我错过了一些东西..我的朋友似乎很确定他的文件是以制表符分隔的.它看起来也像制表符分隔
样本文件
10 AccessibleComputing 0 381202555 2010-08-26T22:38:36Z OlEnglish 7181920 #F3# [[Help:Reverting|Reverted]] edits by [[Special:Contributions/76.28.186.133|76.28.186.133]] ([[User talk:76.28.186.133|talk]]) to last version by Gurch #REDIRECT#F0#[[Computer#F0#accessibility]]#F0#{{R#F0#from#F0#CamelCase}} lo15ponaybcg2sf49sstw9gdjmdetnk ,Computer_accessibility
Run Code Online (Sandbox Code Playgroud)
有没有办法知道python中隐藏的分隔符?
也许以另一种格式编码字符串....?
我有点困惑
public static void main(String [] args){
String s = "a,b,c,d,";
System.out.println(s.split(",").length);
}
Run Code Online (Sandbox Code Playgroud)
我期待看到5作为输出..但输出是4?为什么它会忽略最后一个"null"字段
如果我试图解析具有(例如)5列的数据,我该如何处理这种情况.
cases:
a,b,c,d,e
a,,c,d,e //this case is fine as this still has 5 fields.. one of the field is missing.. but thats ok
a,b,c,d //simple length check with header catches this error
a,b,c,d,e,f //simple length check
a,b,c,d,e,// looks like there are 6 fields.. but unable to catch such error by length check
Run Code Online (Sandbox Code Playgroud) 我正在尝试学习scala并正在做作业,但我无法弄清楚以下内容......
所以,问题是递归地判断括号是否平衡......递归.所以这是我的工作解决方案..
def balance(chars: List[Char]): Boolean = {
def iterate(chars: List[Char], sum:Int):Int = {
if(chars.isEmpty || sum<0) sum
else if(chars.head == '(') iterate(chars.tail ,sum+1)
else if(chars.head == ')') iterate(chars.tail,sum-1)
else iterate(chars.tail, sum)
}
iterate(chars,0) == 0
}
Run Code Online (Sandbox Code Playgroud)
但如果将我的代码更改为以下
def balance(chars: List[Char]): Boolean = {
def iterate(chars: List[Char], sum:Int):Int = {
if(chars.isEmpty || sum<0) sum
else if(chars.head == "(") iterate(chars.tail ,sum+1) //NOTE double quotes
else if(chars.head == ")") iterate(chars.tail,sum-1) //NOTE double quotes
else iterate(chars.tail, sum)
}
iterate(chars,0) == 0
}
Run Code Online (Sandbox Code Playgroud)
这总是回归真实...... …
我正在尝试序列化代码并将其作为json发送...
def f(x): return x*x
def fi(x): return int(x[0])
code_string = marshal.dumps(fi.func_code)
jsn = {"code":code_string)
json.dumps(jsn) # doesnt work if code_string is from fi
Run Code Online (Sandbox Code Playgroud)
所以...如果我的函数是f(x),上面的代码块就可以工作
但是fi(x)失败了
最初的例外是:
Traceback (most recent call last):
File "/home/mohitdee/Documents/python_scala/rdd.py", line 41, in <module>
send_data(json.dumps(jsn))
File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
return _iterencode(o, 0)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x83 in position 32: invalid start byte
[48001 …Run Code Online (Sandbox Code Playgroud) 所以一直在想.设d是字典...检查密钥是否在字典中的正确(更pythonic)方式是什么:
k in d
or
k in d.keys()
Run Code Online (Sandbox Code Playgroud)
或者是其他东西??
我有 3 个向量,如下所示:
a = np.ones(20)
b = np.zeros(20)
c = np.ones(20)
Run Code Online (Sandbox Code Playgroud)
我试图将它们组合成一个尺寸为 20x3 的矩阵。
目前我正在做:
n1 = np.vstack((a,b))
n2 = np.vstack((n1,c)).T
Run Code Online (Sandbox Code Playgroud)
这有效,但没有办法以列方式用数组填充矩阵吗?
说,我有一个如下列表:
[(2, 1), (1, 0), (1, 0), (1,0), (2,1), (2, 1)]
Run Code Online (Sandbox Code Playgroud)
我想删除重复的连续元组.所以在上面的例子中,它应该返回:
[(2, 1), (1, 0), (2, 1)]
Run Code Online (Sandbox Code Playgroud) 我有一个字符串列表如下:
["a","aa", "b","bbb", "c", "a::b", "a::b::c", "a::b::d", "b:c"]
Run Code Online (Sandbox Code Playgroud)
我想把它归类为
["a", "a::b", "a::b::c", "a:b::d", "aa", "b", "b:c", "bbb", "c"]
Run Code Online (Sandbox Code Playgroud)
等等.仅用于上下文.."::"充当表示层次结构的分隔符.所以,给定一个顶级对象"a"..我们首先得到"a :: b","a :: b :: c"..以及所有的孩子..然后去下一个顶级对象"aa ".
什么是在python中解决这个问题的好方法(想知道集合或itertools库中是否有任何东西,我还没有找到合适的方法)?
对于bash专家来说,这可能是一个非常基本的问题,但是我有一个test.sh脚本。
python -m pytest tests/foo.py
python -m pytest tests/bar.py
python -m pytest tests/foobar.py
Run Code Online (Sandbox Code Playgroud)
我试图将所有这些都放入仅包含的for循环中 [foo.py, bar.py.. ]
最简单的方法是什么?