最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用Python實(shí)現(xiàn)換行符轉(zhuǎn)換的腳本的教程

 更新時(shí)間:2015年04月16日 09:12:15   作者:dbzhang800  
這篇文章主要介紹了用Python實(shí)現(xiàn)換行符轉(zhuǎn)換的腳本的教程,代碼非常簡單,包括一個(gè)對(duì)操作說明的功能的實(shí)現(xiàn),需要的朋友可以參考下

很簡單的一個(gè)東西,在'\n'、'\r\n'、'\r'3中換行符之間進(jìn)行轉(zhuǎn)換。
用法

復(fù)制代碼 代碼如下:
usage: eol_convert.py [-h] [-r] [-m {u,p,w,m,d}] [-k] [-f]
                      filename [filename ...]

Convert Line Ending

positional arguments:
  filename        file names

optional arguments:
  -h, --help      show this help message and exit
  -r              walk through directory
  -m {u,p,w,m,d}  mode of the line ending
  -k              keep output file date
  -f              force conversion of binary files

源碼

這只能算是argparse模塊和os模塊的utime()、stat()、walk()的一個(gè)簡單的練習(xí)??梢杂?,但還相當(dāng)不完善。

 #!/usr/bin/env python 
  #2009-2011 dbzhang800 
  import os 
  import re 
  import os.path 
   
  def convert_line_endings(temp, mode): 
    if mode in ['u', 'p']: #unix, posix 
      temp = temp.replace('\r\n', '\n') 
      temp = temp.replace('\r', '\n') 
    elif mode == 'm':   #mac (before Mac OS 9) 
      temp = temp.replace('\r\n', '\r') 
      temp = temp.replace('\n', '\r') 
    elif mode == 'w':   #windows 
      temp = re.sub("\r(?!\n)|(?<!\r)\n", "\r\n", temp) 
    return temp 
   
  def convert_file(filename, args): 
    statinfo = None 
    with file(filename, 'rb+') as f: 
      data = f.read() 
      if '\0' in data and not args.force: #skip binary file... ? 
        print '%s is a binary file?, skip...' % filename 
        return 
      newdata = convert_line_endings(data, args.mode) 
      if (data != newdata): 
        statinfo = os.stat(filename) if args.keepdate else None 
        f.seek(0) 
        f.write(newdata) 
        f.truncate() 
    if statinfo: 
      os.utime(filename, (statinfo.st_atime, statinfo.st_mtime)) 
    print filename 
   
  def walk_dir(d, args): 
    for root, dirs, files in os.walk(d): 
      for name in files: 
        convert_file(os.path.join(root, name), args) 
   
  if __name__ == '__main__': 
    import argparse 
    import sys 
    parser = argparse.ArgumentParser(description='Convert Line Ending') 
    parser.add_argument('filename', nargs='+', help='file names') 
    parser.add_argument('-r', dest='recursive', action='store_true', 
        help='walk through directory') 
    parser.add_argument('-m', dest='mode', default='d', choices='upwmd', 
        help='mode of the line ending') 
    parser.add_argument('-k', dest='keepdate', action='store_true', 
        help='keep output file date') 
    parser.add_argument('-f', dest='force', action='store_true', 
        help='force conversion of binary files') 
    args = parser.parse_args() 
    if args.mode == 'd': 
      args.mode = 'w' if sys.platform == 'win32' else 'p' 
   
    for filename in args.filename: 
      if os.path.isdir(filename): 
        if args.recursive: 
          walk_dir(filename, args) 
        else: 
          print '%s is a directory, skip...' % filename 
      elif os.path.exists(filename): 
        convert_file(filename, args) 
      else: 
        print '%s does not exist' % filename 

相關(guān)文章

  • Python列表生成式應(yīng)用方式

    Python列表生成式應(yīng)用方式

    這篇文章主要介紹了Python列表生成式應(yīng)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 在Linux系統(tǒng)上通過uWSGI配置Nginx+Python環(huán)境的教程

    在Linux系統(tǒng)上通過uWSGI配置Nginx+Python環(huán)境的教程

    這篇文章主要介紹了在Linux系統(tǒng)上通過uWSGI配置Nginx+Python環(huán)境的教程,示例中為Ubuntu系統(tǒng)并且默認(rèn)使用系統(tǒng)中自帶的Python解釋器,需要的朋友可以參考下
    2015-12-12
  • python中adb有什么功能

    python中adb有什么功能

    在本篇文章里小編給大家分享的是關(guān)于python中adb有功能的知識(shí)點(diǎn)總結(jié),有需要的可以跟著學(xué)習(xí)下。
    2020-06-06
  • Python中的連接符(+、+=)示例詳解

    Python中的連接符(+、+=)示例詳解

    Python 中可使用 + 進(jìn)行字符串的連接操作,這個(gè)相信大家都知道,其實(shí)Python中的連接符還有+=,下面這篇文章主要介紹了Python中的連接符(+、+=),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 一篇文章教你用python畫動(dòng)態(tài)愛心表白

    一篇文章教你用python畫動(dòng)態(tài)愛心表白

    這篇文章主要給大家介紹了關(guān)于如何用python畫動(dòng)態(tài)愛心表白的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • python多線程socket編程之多客戶端接入

    python多線程socket編程之多客戶端接入

    這篇文章主要為大家詳細(xì)介紹了python多線程socket編程之多客戶端接入,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 在flask中使用python-dotenv+flask-cli自定義命令(推薦)

    在flask中使用python-dotenv+flask-cli自定義命令(推薦)

    這篇文章主要介紹了在flask中使用python-dotenv+flask-cli自定義命令的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 如何利用python實(shí)現(xiàn)圖片批處理

    如何利用python實(shí)現(xiàn)圖片批處理

    這篇文章主要給大家介紹了關(guān)于如何利用python實(shí)現(xiàn)圖片批處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python實(shí)現(xiàn)雙向鏈表基本操作

    Python實(shí)現(xiàn)雙向鏈表基本操作

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)雙向鏈表基本操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • pytorch實(shí)現(xiàn)focal loss的兩種方式小結(jié)

    pytorch實(shí)現(xiàn)focal loss的兩種方式小結(jié)

    今天小編就為大家分享一篇pytorch實(shí)現(xiàn)focal loss的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01

最新評(píng)論

遵义市| 土默特左旗| 佛坪县| 新郑市| 剑川县| 安塞县| 隆尧县| 长岛县| 丰都县| 深泽县| 封开县| 巩留县| 南投县| 新巴尔虎左旗| 丰顺县| 南阳市| 朔州市| 青海省| 澎湖县| 连云港市| 平阴县| 韶山市| 周至县| 三河市| 鄂托克前旗| 衡山县| 柳州市| 哈尔滨市| 连州市| 米泉市| 横山县| 精河县| 井研县| 涞水县| 石阡县| 铁岭市| 洛扎县| 阿瓦提县| 武穴市| 宜宾市| 太白县|