小编dho*_*kas的帖子

具有同步和顺序替换的sed

我不确定这是否可以在sed(或awk或任何bash工具)中执行我想要的操作:

我想创建一个脚本替换: )字符串by <happy>) :by <sad>.这可以通过sed轻松完成:

echo "test : )" | sed 's/: )/<happy>/g'
echo "test ) :" | sed 's/) :/<sad>/g'
Run Code Online (Sandbox Code Playgroud)

不幸的是,有时我会有这样的字符串:

I'm happy : ) : ) : )
I'm sad ) : ) : ) :
Run Code Online (Sandbox Code Playgroud)

在这种情况下,输出应该是:

I'm happy <happy> <happy> <happy>
I'm sad <sad> <sad> <sad>
Run Code Online (Sandbox Code Playgroud)

但通过结合上面的两个命令:

echo "I'm happy : ) : ) : )" | sed 's/: )/<happy>/g' | sed 's/) :/<sad>/g'
echo "I'm sad ) : ) …
Run Code Online (Sandbox Code Playgroud)

string bash awk sed

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

如何在Python中返回解压缩列表?

我想在python中做这样的事情:

def f():
    b = ['c', 8]
    return 1, 2, b*, 3
Run Code Online (Sandbox Code Playgroud)

我想要f归还元组的地方(1, 2, 'c', 8, 3).我找到了一种方法来使用itertools后面的tuple,但这不是很好,我想知道是否有一种优雅的方式来做到这一点.

python tuples return unpack

4
推荐指数
2
解决办法
4885
查看次数

python调试器中的所有变量都未定义

我在 Python 3.6 上遇到了一个非常奇怪的问题。在我的代码中间,我调用import pdb; pdb.set_trace()调试一些代码。

然后我无法正确调试,例如:

(Pdb) abc = 3
(Pdb) [abc for _ in range(2)]
*** NameError: name 'abc' is not defined
(Pdb) [abc, abc]
[3, 3]
Run Code Online (Sandbox Code Playgroud)

似乎每当我使用列表推导式时,都会出现未定义变量的问题。但是,如果我在打开 Python 后立即调用调试器,我不会观察到这种行为,一切运行正常。

任何想法为什么我有这个问题?

python debugging python-3.x pdb

2
推荐指数
3
解决办法
1484
查看次数

标签 统计

python ×2

awk ×1

bash ×1

debugging ×1

pdb ×1

python-3.x ×1

return ×1

sed ×1

string ×1

tuples ×1

unpack ×1