我试图获得ls -l | awk '{print $1}'
输出中的行数,如下所示为7。
total
drwxrwxr-x
drwxrwxr-x
-rw-rw-r--
-rw-rw-r--
-rw-rw-r--
-rw-r--r--
我尝试将此值存储在变量count
中,但是当我打印计数时,值为0而不是7.我不知道为什么。
import subprocess
count = subprocess.call('ls -l | awk '{print $1}' | wc -l', shell=True)
print count
输出:
7
0
答案 0 :(得分:3)
您也可以使用subprocess.check_ouput。它特别适用于检查输出,顾名思义。
count = subprocess.check_output("ls -l | awk '{print $1}' | wc -l", shell=True)
答案 1 :(得分:1)
Subprocess.call不会返回stdout,因此您需要使用Popen。 这是你可以做的。
// Check that all your push tokens appear to be valid Expo push tokens
if (!Expo.isExpoPushToken(pushToken)) {
console.error(`Push token ${pushToken} is not a valid Expo push token`);
continue;
}