python打开文本或者创建文本呢

使用os.open方法

os.optn语法

# file 创建的文本,或者打开的文本
# flags 使用什么权限打开
os.open(file, flags[, mode]);

flags(支持传多个参数中间使用|隔开)

  1. os.O_RDONLY: 以只读的方式打开
  2. os.O_WRONLY: 以只写的方式打开
  3. os.O_RDWR : 以读写的方式打开
  4. os.O_NONBLOCK: 打开时不阻塞
  5. os.O_APPEND: 以追加的方式打开
  6. os.O_CREAT: 创建并打开一个新文件
  7. os.O_TRUNC: 打开一个文件并截断它的长度为零(必须有写权限)
  8. os.O_EXCL: 如果指定的文件存在,返回错误
  9. os.O_SHLOCK: 自动获取共享锁
  10. os.O_EXLOCK: 自动获取独立锁
  11. os.O_DIRECT: 消除或减少缓存效果
  12. os.O_FSYNC : 同步写入
  13. os.O_NOFOLLOW: 不追踪软链接

代码实例

import os
def mkdocu(name,data):
    path = '/home/mrxu/Desktop/' + name +'.txt'
    file = os.open(path,os.O_CREAT|os.O_WRONLY)
    # python3写法
    os.write(file,str.encode(data))
    # python2写法
    # os.write(file,data)
    os.close(file)
mkdocu('123','adsdf')

使用open方法

  • open语法
open(name[, mode[, buffering]])
  • 参数详解

    1. name : 一个包含了你要访问的文件名称的字符串值。

    2. mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

    3. buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

  • mode 的参数

访问模式 说明
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

代码实例

def text_create(name, msg):
    full_path = '/home/mrxu/Desktop' + name + '.txt'  # 也可以创建一个.doc的word文档
    file = open(full_path, 'w')
    file.write(msg) 
    file.close()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容