我需要从python代码运行一个jar文件,但在运行该文件之前我想知道是否在系统上安装了java,使用python代码本身.请帮助谢谢
我在看这个问题.
就我而言,我想做一个:
import subprocess
p = subprocess.Popen(['ls', 'folder/*.txt'], stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
out, err = p.communicate()
Run Code Online (Sandbox Code Playgroud)
现在我可以在命令行上查看执行"ls文件夹/*.txt"的工作,因为该文件夹有很多.txt文件.
但在Python(2.6)中我得到:
ls:无法访问*:没有这样的文件或目录
我尝试过:
r'folder/\*.txt'
r"folder/\*.txt"
r'folder/\\*.txt'
和其他变化,但它似乎Popen不喜欢这个*角色.
有没有其他方法逃脱*?
我写了一个小代码:
import os
os.system('users')
os.system('w')
Run Code Online (Sandbox Code Playgroud)
这打印
ubuntu
09:27:25 up 9 days, 21:23, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ubuntu pts/0 42.99.164.66 09:06 5.00s 0.10s 0.00s sh -c w
Run Code Online (Sandbox Code Playgroud)
但是当我尝试:
import os
from pyslack import SlackClient
user_name = os.system('users')
login_details = os.system('w')
print user_name
print login_details
Run Code Online (Sandbox Code Playgroud)
它有以下输出:
ubuntu
09:28:32 up 9 days, 21:24, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ubuntu pts/0 42.99.164.66 09:06 …Run Code Online (Sandbox Code Playgroud) 可能重复:
从python运行shell命令并捕获输出
我想将命令的输出捕获到变量中,以便稍后可以再次使用该变量.我需要更改此脚本,以便它执行此操作:
#!/usr/bin/python
import os
command = raw_input("Enter command: ")
os.system(command)
Run Code Online (Sandbox Code Playgroud)
如果我在运行此脚本时输入"ls",我会得到以下输出:
Documents Downloads Music Pictures Public Templates Videos
Run Code Online (Sandbox Code Playgroud)
我想将该字符串(ls命令的输出)捕获到变量中,以便稍后再次使用它.我该怎么做呢?
我使用pbr进行包装。它从 git 标签中获取版本并将其应用于 setup.py
现在我还想在包内提供可用的版本。例如有一个__version__属性。我可以pbr为此使用图书馆吗?
还有另一个库:versioneer,它也从 git 标签中提取版本,但这会增加一个额外的要求。我更愿意从pbr
我正在寻找一种使用 python 获取系统序列号的方法。
以下是使用命令提示符获取序列号的命令:
wmic bios get serialnumber
Run Code Online (Sandbox Code Playgroud)
有没有Python库可以得到同样的结果?
import sys
import os
log = os.system('cat /var/log/demesg')
Run Code Online (Sandbox Code Playgroud)
此代码通过运行shell脚本打印文件cat /var/log/dmesg.但是,它不会复制到日志中.我想在其他地方使用这些数据,或者只打印数据,如打印日志.
我该如何实现呢?
谁能告诉我如何将命令的输出设置为变量?
基本上,我正在寻找与此bash示例等效的Python:
blah="ajsdlk akajl <ajksd@ajksldf.com>"
blah=$(echo "$blah" | cut -d '<' -f 2 | cut -d '>' -f 1)
echo "$blah"
ajksd@ajksldf.com
Run Code Online (Sandbox Code Playgroud)