IS&パイソン読み取りと書き込みのファイルと共通モジュール==&区別

そして、の間の差である==

  • だけでなく、データメモリアドレスは同じです
  • ==データと同じデータ型にのみ分析

ファイルを読み書きします

  • クラシックフェイス質問:5Gのファイルがありますが、別のファイルは、Pythonで書かれています

    • 読んで():指定読むために指定したファイルのサイズ(すべてを読むためにデフォルトの時間)
    • readlineの():ラインによる読み出しライン、大きなファイルを読み込むための
    • readlines():一回はすべてのファイルを読み込むと、ファイルは、行のリストに読み込まれます
  • 私たちは、それぞれのサイズは8キロバイトまで読んで、ファイルの内容を読み取るために、whileループを使用します

  • あなたは非常に多くのメモリフットプリントを削減するために、前に回避するために、スプライシングプロセスの巨大な文字列を必要としています。

#!/usr/bin/python
# -*- coding: utf-8 -*-
def read_big_file_v(fname):
    block_size = 1024 * 8
    with open(fname,encoding="utf8") as fp:
        while True:
            chunk = fp.read(block_size)
            # 当文件没有更多内容时,read 调用将会返回空字符串 ''
            if not chunk:
                break
            print(chunk)
path = r'C:\aaa\luting\edc-backend\tttt.py'
read_big_file_v(path)

共通モジュール

  • reモジュール
findall: findall(pattern,string),查找所有满足条件的字符

search: search(pattern,string[,flags]),在字符串中查找,返回第一个匹配的字符串 分装返回对象为,span = (0,5) (匹配的位置)左闭右开

match : match(pattern,string[,flags]) 在字符串开头查找,与search返回值相同

split:split(pattern,string[,maxsplit=0])根据模式切割字符串

compilecompile(pattern,[,flags]) 根据包含正则表达式的字符串创建模式对象

sub : sub(pat,repl,string[,count=0]) 将字符串中模式pat匹配的子串都替换为repl

  • サブプロセスモジュール

サブプロセスの原理と共通ラッパー関数

  • ファイル名を指定して実行のpython、我々は作成して実行するプロセスです。Linuxのような、プロセスとして、プロセスは子プロセスをforkすることができ、そして別のプログラムExecの子プロセスを聞かせて
  • Pythonでは、私たちは子プロセスをforkして、外部プログラムを実行するために、標準ライブラリのサブプロセスパッケージを採用しました。
  • パッケージで定義されたサブプロセスは、必要に応じて、これらの機能は、我々が使用する1つを選択することができますので、別の方法で子プロセスを作成するには、いくつかの関数は、子プロセスを作成します
  • またサブプロセスも、プロセス間のテキスト通信を使用するパイプのためのいくつかの管理標準的なフロー(標準ストリーム)とツール(パイプ)を提供します。

サブプロセス一般的に使用される機能

#1、返回执行状态:0 执行成功
retcode = subprocess.call(['ping', 'www.baidu.com', '-c5'])

#2、返回执行状态:0 执行成功,否则抛异常
subprocess.check_call(["ls", "-l"])

#3、执行结果为元组:第1个元素是执行状态,第2个是命令结果
>>> ret = subprocess.getstatusoutput('pwd')
>>> ret
(0, '/test01')

#4、返回结果为 字符串 类型
>>> ret = subprocess.getoutput('ls -a')
>>> ret
'.\n..\ntest.py'


#5、返回结果为'bytes'类型
>>> res=subprocess.check_output(['ls','-l'])
>>> res.decode('utf8')
'总用量 4\n-rwxrwxrwx. 1 root root 334 11月 21 09:02 test.py\n'

UNIX形式にフォーマットファイルドス変換

subprocess.check_output(['chmod', '+x', filepath])
subprocess.check_output(['dos2unix', filepath])
公開された84元の記事 ウォンの賞賛1 ビュー2064

おすすめ

転載: blog.csdn.net/lxp_mocheng/article/details/104796396