我正在尝试检查目录是否没有带有“.rpm”扩展名的文件。我不会事先知道文件名是什么,每个目录都会有多个文件。
这是我的代码:
import {
"fmt"
"os"
"path/filepath"
}
func main() {
dirname := "." + string(filepath.Separator)
d, err := os.Open(dirname)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer d.Close()
files, err := d.Readdir(-1)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Print("\n" + "Reading " + dirname)
for _, file := range files {
if file.Mode().IsRegular() {
// TODO: if rpm file not present, print no rpm file found
if filepath.Ext(file.Name()) == ".rpm" {
fmt.Println(file.Name() + "\n")
f, err := os.Open(file.Name())
if err != nil {
panic(err)
}
}
}
}
}
上面的代码将打开当前目录中的所有 .rpm 文件。
我要检查以下内容:如果“.rpm”文件不存在当前目录的文件列表,则打印“rpm 不存在”和 os.Exit。
我试过这段代码:
if filepath.Ext(file.Name()) != ".rpm" {
fmt.Println("no rpm found")
}
我试过使用
if filepath.Ext(file.Name()) == ".rpm" {
... *code above* ...
} else {
fmt.Println("ERR: RPM file does not exist")
}
我遇到了错误,如果存在其他文件而没有.rpm的扩展名,那么它将提示错误。
如果事先没有文件名,我怎么能这样做?
弑天下
繁花如伊
相关分类