鱼C论坛

 找回密码
 立即注册
查看: 1869|回复: 2

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

[复制链接]
发表于 2023-9-21 14:47:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import subprocess

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

for command in commands:
    subprocess.run(command, shell=True)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-21 15:03:13 | 显示全部楼层
isdkz 发表于 2023-9-21 14:47
这段代码的作用是通过Python的subprocess库执行一些命令。

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

按照这个方式修改之后,报了/bin/sh: setview: command not found  这是为啥,我单独执行这两句命令的时候是没问题的,就是在这个脚本里面执行会出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 08:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表