27-open-基本操作

作者: JSFnull | 来源:发表于2019-12-09 14:22 被阅读0次
    # cp /etc/passwd /tmp/
    >>> f = open('/tmp/password')  -----默认r模式,文件不存在则报错
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/password'
    >>> f = open('/tmp/passwd')
    >>> data = f.
    f.buffer          f.encoding        f.isatty(         f.newlines        f.readlines(      f.truncate(
    f.close(          f.errors          f.line_buffering  f.read(           f.seek(           f.writable(
    f.closed          f.fileno(         f.mode            f.readable(       f.seekable(       f.write(
    f.detach(         f.flush(          f.name            f.readline(       f.tell(           f.writelines(
    >>> data = f.read() 
    >>> data
    >>> data = f.read() 文件指针已到结尾,再读取将为空串-----指针没有回头草
    >>> data
    '' 
    >>> f.close()
    >>> f = open('/tmp/passwd')
    >>> data = f.read()
    >>> data
    >>> f.read(4)---读取4字节
    'root'
    >>> f.read(6)---继续往后读6字节
    ':x:0:0'
    >>> f.readline()读到换行符\n结束 ----类型是 str  字符类型
    >>> f.readlines()--# 把每一行数据读出来放到列表中 
    ':root:/root:/bin/bash\n'
    >>> data = f.readlines()
    >>> type(data)
    <class 'list'>
    >>> data
    
    ###############最常用的读取文件的方法#################
    f = open('/tmp/passwd')
    for line in f:
        print(line, end='')
    f.close()
    
    ##############################
    f = open('图片地址', 'rb')  # 打开非文本文件要加参数b
    f.read(4096)
    f.close()
    [root@room9pc01 ~]# eog me1.png
    打开图片
    *************文本也可以用rb的方式打开*******
    #一个英文字符正好占一个字节,就用英文字符本身去显示
    但是一个汉子再utf9编码中占3字节,没有办法把一个字节表示成字符,所以就用16进制数表示
    # cat /tmp/a.txt 
    hello一月份
    >>> f = open('/tmp/a.txt','rb')
    >>> f.read()
    b'hello\xe4\xb8\x80\xe6\x9c\x88\xe4\xbb\xbd\n'
    >>> s1 = b'\xe4\xb8\x80'
    >>> s1
    b'\xe4\xb8\x80'
    >>> s1.decode()
    '一'
    f.close()
    >>> s2 = '月'
    >>> s2.encode()
    b'\xe6\x9c\x88'
    *******************************************
    
    
    ##################################
    f = open('/tmp/myfile', 'w')  # 'w'打开文件,如果文件不存在则创建
    f.write('hello world!\n')
    f.flush()  # 立即将缓存中的数据同步到磁盘
    f.writelines(['2nd line.\n', 'new line.\n'])
    f.close()  # 关闭文件的时候,数据保存到磁盘
    
    ##############################
    with语句结束时,自动关闭文件
    
    with open('/tmp/passwd') as f:
        print(f.readline())
    
    #########################
    移动指针的位置以及查看指针的位置
    --f = open('/tmp/passwd', 'rb') ---一定要rb
    
    f = open('/tmp/passwd')
    f.tell()  # 查看文件指针的位置
    f.readline()
    f.tell()
    f.seek(0, 0)  # 第一个数字是偏移量,第2位是数字是相对位置。
                  # 相对位置0表示开头,1表示当前,2表示结尾
    f.seek(-5,2)   #左为负   右为正
    
    f.tell()
    f.close()
    

    相关文章

      网友评论

        本文标题:27-open-基本操作

        本文链接:https://www.haomeiwen.com/subject/bmqlgctx.html