gpt4 book ai didi

python - 织物检查以查看文件是否有数据

转载 作者:太空宇宙 更新时间:2023-11-03 15:22:05 25 4
gpt4 key购买 nike

我想检查一个文件里面是否有数据,如果它告诉我那个文件里面有什么,如果没有退出,“文件中没有任何内容”。我正在使用 Fabric 1.2 在远程服务器上执行此操作。

我正在尝试:

    def test():
run("cat myfile.txt | awk '{print $1}' > /dir/newfile.txt")
if run("test -s /dir/newfile.txt || cat /dir/newfile.txt"):
else run("echo Nothing in the file")

我知道这不是最好的方法,我知道 Python 将 os.path.getsize(path) 用于类似目的。你能帮忙吗?

最佳答案

有一个更简单的命令可以做到这一点,它不需要将任何内容保存到文件中:

file 'the-filename' | grep 'the-filename'

因此,代码将是:

if run("file 'the-filename' | grep 'the-filename'", warn_only=True).succeeded:
print("The file 'the-filename' is empty.")
else:
print("The file 'the-filename' is not empty.")

succedeed如果命令成功,则返回值的属性为 True,这发生在 grep 匹配字符串时(即文件为空时)。

fabric 的文档中搜索它似乎没有提供像 os.path.getsize 这样的功能,因此您可能无法通过 run 调用命令

另一种方法是使用 stat 'the-filename' --format=%s | grep '^0$' 并检查成功

关于python - 织物检查以查看文件是否有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13478467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com