zoukankan      html  css  js  c++  java
  • python基础-3

    三元运算  :

    1 >>> a =2 
    2 >>> b = 5
    3 >>> val = a if a < b else b
    4 >>> val
    5 2
    6 >>> val = a if a > b else b
    7 >>> val

    8 >>> 5

    文件报错科普:

    提示错误OSError: [Errno 22] Invalid argument: ‘文件路径’。

    原因是在路径中含有 。在python中 是转义字符、就是这个原因 ,有两种方法,

    1、使用   取消转义 

    2、使用反斜杠代表路径、

    如下图所示:

    二进制模式打开文件 

    python3 打开文件,会默认以utf-8的格式打开,但是如果你不知道这个文件的格式,可以使用二进制的方式打开文件。

     1 f = open(file='E:python\14_test\lock_file',mode='rb') 

       对于不知道什么编码的文件,可以直接使用  chardet 这个第三方工具打开查看。

      result = chardet.detect(open(‘log’,'rb').read))

      print(result)

     打印如下图所示、会打印出字符编码、confidence相似程度为99%。

    这里总结一下:

    打开文件的模式有三种:
    r , 只读模式(默认)。
    w,创建模式。【不可读;不存在则创建;存在则删除内容;因为会清空原有文件的内容,一定要慎用】
    a, 追加模式。【可读; 不存在则创建;存在则只追加内容;】

       读写混合模式:

        r+:读写模式 ,以读的模式打开,支持写

       w+:写读模式,以写的模式打开,支持读。。。【别用这个了。。。】

    注意最后要记得关闭文件:f.close()
    w模式(如果没有就创建文件,如果有就清空文件,一定要慎用)
    a模式(追加模式,如果没有就创建文件,如果有就把内容追加进去)
    r+ 模式(读,追加模式)
    w+写读模式, a+追加读模式,
    总结

    其他:fileno  返回文件句柄的索引值--整数

               flush   把文件从内存刷新到硬盘   

               readable   判断文件是否可读 

               tell      返回光标所在字符位置  

               seek   去到字符位置

               readline    光标所在行

               seekable   判断终端位置

               truncate     从当前位置截断文件,保留从头到当前位置  

       

    文件修改

     

     1 import os
     2 f_name = 'jianzhi.txt'
     3 f_new_name ='%s.new' %f_name
     4 
     5 old_str = '殇之木乃伊:阿木木(Amumu) 1350'
     6 new_str='-----------------------------------'
     7 
     8 f = open(f_name,mode='r',encoding='utf-8')
     9 f_new = open(file=f_new_name,mode='w', encoding='utf-8')
    10 
    11 for line in f:
    12     if old_str in line:
    13         line = line.replace(old_str,new_str)
    14 
    15     f_new.write(line)
    16 
    17 
    18 f.close()
    19 f_new.close()
    20 print(f_new_name,f_name)
    21 os.rename(f_new_name,f_name)
    View Code

    这个地方有个问题非常奇怪,如下图所示的截图   ↓

         

     在进行文件重命名时,提示文件已存在,无法创建文件,这个是不应该的,,,暂时还没有想明白。。。

    ---------------------------------------------------这里记录一下---------------------------------------------------------

    windows上用replace别用rename

     

      函数 :

    默认参数  :  默认参数必须放在位置参数后面

     

     现写一个简单的员工信息增删改查程序。。。。----------------万恶的分割线-----------------------明天发

                         

                

     小结:懒惰是万恶之源,发现周末在家的两天里,学习进度不如在公司一边工作一边学习来的效率高,,,以后周末还是可以去外面的798咖啡屋里。。。

  • 相关阅读:
    LeetCode 769. Max Chunks To Make Sorted
    LeetCode 845. Longest Mountain in Array
    LeetCode 1059. All Paths from Source Lead to Destination
    1129. Shortest Path with Alternating Colors
    LeetCode 785. Is Graph Bipartite?
    LeetCode 802. Find Eventual Safe States
    LeetCode 1043. Partition Array for Maximum Sum
    LeetCode 841. Keys and Rooms
    LeetCode 1061. Lexicographically Smallest Equivalent String
    LeetCode 1102. Path With Maximum Minimum Value
  • 原文地址:https://www.cnblogs.com/wangcc7/p/8597685.html
Copyright © 2011-2022 走看看