Big-Man 发表于 2023-9-21 14:47:15

setview是我测试环境的地方,为什么这个命令一直设不上,报语法错误

import subprocess

commands = {
    'current_date=$(date +%Y%m%d)',
    'setview /home/data/testing/$current_date'
}

for command in commands:
    subprocess.run(command, shell=True)

isdkz 发表于 2023-9-21 14:47:25

这段代码的作用是通过Python的subprocess库执行一些命令。

其中,commands是一个包含两个字符串的字典,第一个字符串是获取当前日期的命令,第二个字符串是使用setview命令切换到指定目录的命令。

在for循环中,每个命令都会被执行一次。subprocess.run()函数的作用是执行命令,并等待命令执行完成后返回结果。

然而,这段代码存在一些问题。首先,commands应该是一个列表而不是字典。其次,当前日期的命令应该使用$()来获取命令输出的结果,而不是使用单引号。最后,setview命令应该使用双引号包括路径,以便正确解析变量。

下面是修改后的代码:

import subprocess

commands = [
    'current_date=$(date +%Y%m%d)',
    'setview "/home/data/testing/$current_date"'
]

for command in commands:
    subprocess.run(command, shell=True)

Big-Man 发表于 2023-9-21 15:03:13

isdkz 发表于 2023-9-21 14:47
这段代码的作用是通过Python的subprocess库执行一些命令。

其中,commands是一个包含两个字符串的字典, ...

按照这个方式修改之后,报了/bin/sh: setview: command not found这是为啥,我单独执行这两句命令的时候是没问题的,就是在这个脚本里面执行会出错
页: [1]
查看完整版本: setview是我测试环境的地方,为什么这个命令一直设不上,报语法错误