我想知道如何使用bash获取系统CPU使用率并以百分比形式显示它.
样本输出:
57%
Run Code Online (Sandbox Code Playgroud)
如果有一个以上的核心,如果可以计算平均百分比,那就太好了.
我正在尝试使用函数式编程来创建包含键和要执行的函数的字典:
myDict={}
myItems=("P1","P2","P3",...."Pn")
def myMain(key):
def ExecP1():
pass
def ExecP2():
pass
def ExecP3():
pass
...
def ExecPn():
pass
Run Code Online (Sandbox Code Playgroud)
现在,我已经看到用于在模块中查找已定义函数的代码,我需要执行以下操作:
for myitem in myItems:
myDict[myitem] = ??? #to dynamically find the corresponding function
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,如何列出所有Exec函数,然后使用字典将它们分配给所需的项目?所以最后我会myDict["P1"]() #this will call ExecP1()
我真正的问题是我有大量的这些项目,我创建了一个库来处理它们,所以最终用户只需要调用 myMain("P1")
我认为使用检查模块,但我不确定如何做到这一点.
我有理由避免:
def ExecPn():
pass
myDict["Pn"]=ExecPn
Run Code Online (Sandbox Code Playgroud)
是我必须保护代码,因为我使用它来提供我的应用程序中的脚本功能.
为什么我收到以下一个线性python代码的语法错误?
python -c 'import re; if True: print "HELLO";'
File "<string>", line 1
import re; if True: print "HELLO";
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
以下代码工作得很好
python -c 'if True: print "HELLO";'
Run Code Online (Sandbox Code Playgroud)
如何从命令行更改我的一行以在一行上执行我的预期脚本?
我有python代码,例如:
import sys
print('1')
print("2")
print(sys.argv[1])
Run Code Online (Sandbox Code Playgroud)
请注意,它可以包含单引号,双引号并接受参数。
在我的服务中,我通过网络接收代码,应该执行它。我不想将代码临时保存为脚本在磁盘上,因此我想用python -c命令执行它。
我如何在bash中执行它(/sf/answers/2069590631/):
$ python3 -c $'import sys\nprint(\'1\')\nprint("2")\nprint(sys.argv[1])' 3
1
2
3
Run Code Online (Sandbox Code Playgroud)
我的问题:如何从Scala执行示例代码?
import sys.process._
def runCommand(cmd: String): (Int, String, String) = {
val stdoutStream = new ByteArrayOutputStream
val stderrStream = new ByteArrayOutputStream
val stdoutWriter = new PrintWriter(stdoutStream)
val stderrWriter = new PrintWriter(stderrStream)
val exitValue = cmd.!(ProcessLogger(stdoutWriter.println, stderrWriter.println))
stdoutWriter.close()
stderrWriter.close()
(exitValue, stdoutStream.toString, stderrStream.toString)
}
val code =
"""
|import sys
|
|print('1')
|print("2")
|print(sys.argv[1])
""".stripMargin
val arg = 3 …Run Code Online (Sandbox Code Playgroud) 是否可以编写python one-liner,它将侦听特定的tcp端口,接受连接,并且不响应任何内容.
我可以用两行来做到这一点:
import socket; s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); s.bind(("", 5555)); s.listen(1); accepter = s.accept();
while True: data = accepter[0].recv(1024);
Run Code Online (Sandbox Code Playgroud)
但是我想从中运行它python -c,所以它应该是一行.
我怎样才能做到这一点?
说我想要print 1 + 1stdout(即单线编码).
随着awk我可以简单地做到这一点:
$ echo | awk '{print 1+1}'
2
Run Code Online (Sandbox Code Playgroud)
如何用python做到这一点?
我有一个从json接收数据的bash脚本.我想将json解析委托给python并使用bash操作其他东西.所以我尝试了以下它并且它有效:
$cat json.txt | python -c "import sys, json; app_data=json.load(sys.stdin); print app_data['item'][0]['id'];"
Run Code Online (Sandbox Code Playgroud)
我决定查看列表大小:
$cat json.txt | python -c 'import sys, json; app_data=json.load(sys.stdin); if len(app_data['item'])==1: print '1 item:'; print app_data['item'][0]['id']'
Run Code Online (Sandbox Code Playgroud)
它因SyntaxError失败:语法无效.
列表大小检查(上面的代码)通常来自单独的.py文件.我更喜欢使用单行代码来保持简单并在shell脚本中存储在一起.
是否可以使用某些逻辑运行python one-liner(如import json)和if block?