小编Kei*_*ley的帖子

bash:将字符串变量解释为文件名/路径

我的bash脚本接收文件名(或相对路径)作为字符串,但必须从该文件中读取.我只能从文件名中读取,如果我直接在脚本中声明它是一个文字(没有引号)......这对于参数是不可能的,因为它们是隐含的字符串开头.注意:

a="~/test.txt"
#Look for it
if [[ -a $a ]] ; then
    echo "A Found it"
else
    echo "A Error"
fi
#Try to use it
while read line; do
    echo $line
done < $a

b='~/test.txt'
#Look for it
if [[ -a $b ]] ; then
    echo "B Found it"
else
    echo "B Error"
fi
#Try to use it
while read line; do
    echo $line
done < $b

c=~/test.txt
#Look for it
if [[ -a $c ]] ; then
    echo "C …
Run Code Online (Sandbox Code Playgroud)

string bash filenames

19
推荐指数
1
解决办法
7万
查看次数

Terraform GCP 启动脚本本地文件而不是内联

网上有很多例子展示了如何在部署在 GCP/GCE 上的虚拟机上使用 Terraform 运行启动脚本,但它们都使用内联启动脚本,所有启动脚本代码都包含在 terraform compute.tf 文件中。这可以通过启动脚本的单行或多行的 <<SCRIPT[script code]SCRIPT 来完成。我还没有找到一个示例来展示如何将启动脚本参数分配给本地磁盘上的另一个文件,可能与 compute.tf 位于同一目录中。用数百行启动脚本将compute.tf 弄得一团糟。没有更好的方法来做到这一点吗?

我意识到我可以编写一个包装脚本,将一个 compute.tf 和一个单独的启动文件组合到一个 compute.tf 中,然后运行 ​​terraform,但我正在寻找一条更直接的路线,假设存在。

谢谢你。

startup google-cloud-platform terraform

14
推荐指数
2
解决办法
7745
查看次数

两级抽象类层次结构没有“一致的方法解析”错误

我需要两个级别的抽象类和第三个级别的具体类:

from abc import ABC

class Shape(ABC):
...

class Quad(ABC, Shape):
...

class Square(Quadrilateral)
...
Run Code Online (Sandbox Code Playgroud)

此代码TypeError: Cannot create a consistent method resolution根据 的声明生成Quad。我意识到问题是多重继承的歧义。 Quad不知道是否直接从ABC或 从派生某些函数Shape,但如何修复它?我不能ABCQuad的声明中删除,因为那样它就不再是抽象的了。

python multiple-inheritance abc python-3.x

8
推荐指数
1
解决办法
1837
查看次数

如何为 3.x 到 2.x IPC 设置 Python 多处理 pickle 协议

我正在尝试在同一台机器上的两个 Python 进程(Py2 中的侦听器和 Py3 中的客户端)之间建立真正基本的字符串消息 IPC(不需要对象或任何类似的东西)。这不能开箱即用,因为 Py3 MP 默认使用 Pickle 协议 3,而 Py2 侦听器不存在该协议,因此侦听器在无法识别的 pickle 协议上崩溃。我希望 MP 根本不会腌制,我只是通过电线发送字符串,不明白为什么如果我选择不这样做,但如果我无法关闭腌制,我应该被迫执行腌制步骤完全,那么我如何告诉 Py3 中的客户端使用 pickle 协议 0(或 1 或 2)?我一直在寻找这个看似简单的问题的解决方案,但找不到答案,令我惊讶的是。

谢谢。

python pickle multiprocessing

5
推荐指数
0
解决办法
456
查看次数