go 系统函数os.OpenFile

定义为func OpenFile(name string, flag int, perm FileMode) (*File, error)

特简单,传入路径,flag,已经权限就打开了。

在使用中发现大家的调用方式常用

os.OpenFile("./app.log", os.O_CREATE|os.O_RDWR|os.O_APPEND, 0644)

这个0644是什么鬼?在go源码里枚举也没这些定义呀,猜测应该是某些权限的集合。

要是0777倒好理解了,因为unix就有个chmod +777

后来查了好多资料终于算是理解了。

0表示8进制。

644表示权限,要知道什么权限可以调用

aaa := os.FileMode(0777).String()

来获取,结果是-rwxrwxrwx

-表示普通文件

r表示可读

w表示可写

x表示可执行

然后各个位置表示对应的用户权限,可以参考下面这段东西

一般都文件属性标识如下: -rwxrwxrwx第1位:文件属性,一般常用的是"-",表示是普通文件;"d"表示是一个目录。第2~4位:文件所有者的权限rwx (可读/可写/可执行)。第5~7位:文件所属用户组的权限rwx (可读/可写/可执行)。第8~10位:其他人的权限rwx (可读/可写/可执行)。在golang中,可以使用os.FileMode(perm).String()来查看权限标识:os.FileMode(0777).String()    //返回 -rwxrwxrwxos.FileMode(0666).String()   //返回 -rw-rw-rw-os.FileMode(0644).String()   //返回 -rw-r--r--0777表示:创建了一个普通文件,所有人拥有所有的读、写、执行权限0666表示:创建了一个普通文件,所有人拥有对该文件的读、写权限,但是都不可执行0644表示:创建了一个普通文件,文件所有者对该文件有读写权限,用户组和其他人只有读权限,
都没有执行权限

小地方有时候藏着一些挺有意思的东西。

go 函数os.OpenFile相关推荐

  1. Go语言 Os.OpenFile函数

    参考 源码地址https://github.com/golang/go/blob/master/src/os/file_unix.go?name=release#76 文档解释https://stud ...

  2. Go os.OpenFile()bufio.NewWriter()文件创建并使用带缓冲区写文件

    os package - os - pkg.go.devhttps://pkg.go.dev/os#OpenFile os.OpenFile 在写文件的时候要用一个函数OpenFile,这里面有三个参 ...

  3. os.Open()和os.OpenFile()

    一直以来都以为Open()和OpenFile()没有什么大的区别,今天操作日志文件才发现,两者有很大的区别. 这是我刚开始写的代码: logFile,err:=os.Open("log/sy ...

  4. [golang] golang文件读写 os.OpenFile(fileName,os.O_APPEND|os.O_WRONLY,os.ModeAppend)

    [golang] golang文件读写 os.OpenFile(fileName,os.O_APPEND|os.O_WRONLY,os.ModeAppend) 读写文件要用到的OS包 func Ope ...

  5. Python内置函数os模块shutil模块

    一.内置函数 内置函数就是python里面自带的一些函数,不需要自己定义,直接就可以使用的函数. print(sum([1,2,3])) #求和的 print(min("123") ...

  6. python3.7 利用函数os pandas 利用 excel 对文件名进行归类

    这里用的python 版本是3.7最新的版本写的. 利用excel ,对门店的二维码对对应所属小区进行分类,比如在excel 江南摩尔店对应浙北大区,那么二维码名字为江南摩尔店的会自动分类到浙北大区这 ...

  7. golang文件读写os.OpenFile(“E:\\“, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)释义

    在自学golang时遇到OpenFile中这些参数不知为什么要这样去写,记录一下 os.O_WRONLY | os.O_CREATE | O_EXCL [如果已经存在,则失败]os.O_WRONLY ...

  8. os.Open()和os.OpenFile#40;#41;的区别

    从帮助文档上可以看出, Open()只能用于读取文件. 本文参考: https://www.yuque.com/docs/share/cf0caca2-298c-4796-b3e7-5980837fd ...

  9. log包在Golang语言的标准库中是怎么使用的?

    Golang 语言的标准库中提供了一个简单的 log 日志包,它不仅提供了很多函数,还定义了一个包含很多方法的类型 Logger.但是它也有缺点,比如不支持区分日志级别,不支持日志文件切割等. 01. ...

最新文章

  1. Bootstrap Paginator 分页插件的使用
  2. mysql-sql优化--笔记
  3. 3. golang 流程控制
  4. 红双喜五星直板乒乓球拍多少钱?_百度知道
  5. C# winform C/S WebBrowser 微信第三方登录
  6. JVM调优系列:(三)类加载和执行机制
  7. 使用ElasticSearch,Kibana,ASP.NET Core和Docker可视化数据
  8. Java类class cast()方法及示例
  9. 程序员如何达到年薪百万?java程序员必读书籍!
  10. eclipse中maven项目pom文件第一行报错解决方法
  11. python做接口测试的优点_python做接口测试的必要性
  12. easyui datagrid 遇到的坑 cannot read property ·· pageNum bug and so on
  13. c程序 wrapper_如何使 Python 程序能让他提速 30%?
  14. 【算法笔记+BZOJ3676】回文串(回文树/回文自动机模版题)
  15. “科创中国”创新资源共享平台助力2020年“企业创新大家谈”活动
  16. 思辨与立场阅读笔记-02 成为你自己思维的批判家
  17. 内网IP使用Https小记
  18. CICD持续集成部署系列2-使用 harbor 搭建 Docker 私有仓库
  19. Virtual Network----网卡offload特性和网络加速技术简述
  20. oj1138c语言,九度OJ 1138:进制转换 (进制转换)

热门文章

  1. [提醒]曾经犯的谜之错误
  2. 中国移动北京公司携未来电视、UWA、爱奇艺开启超高清新时代
  3. java宠物之王-龙灵传说_宠物之王龙灵传说闯关秘籍
  4. 计算机网络通信中的交换方式有哪几种,数据通信方式有哪几种
  5. matlab ifft取实部,[合集] matlab中IFFT的问题
  6. Java学习笔记:公司账目流水表生成报表1
  7. soho新工作 新娘秘書
  8. 踢球游戏-运用list切片
  9. Java - 吸血鬼数字
  10. 年产一万吨苹果醋车间布置图、年产50吨羧乙基壳聚糖的工艺设计车间平面布置图、砂石骨料加工系统废水处理车间工艺流程图、氯化苄生产车间平面布置图、年产2000吨聚丙烯腈原丝生产工艺设计车间平面布置图……