ファイル操作の強化




ちょうど生産的であるために忙しいからスイッチ
どちらもあなたの上司もあなたのクライアントはあなたのハードワークに興味を持って、どんなにあなたが十分に生産されていない場合に入れてどのくらいの時間.
プログラマとしてPythonでできることは驚くべきことです.そして、楽しい事実は、これらの驚くべきスタッフも私たちの毎日の仕事は超簡単にも生産性を高めることができます.
我々はこの短いチュートリアルではいくつかの興味深いPythonファイルのテクニックを扱うだけでいくつかの行のコードを学びます.はい、右に聞いた、あなたはコードのわずか数行で、この驚くべきスタッフを行うことができます.

私の仮定
あなたはすでにPythonのようなリストの基本を知っている、ライブラリ/モジュール/パッケージのインポート、Pythonスコープ、インデント、入力、ループ、関数といくつかの他の同様の概念です.

テイクアウェイ
- Pythonでファイルをオープンして使用する方法.
- OSモジュールを使用して特定のファイルのディレクトリをスキャンし、ファイル( s )で何かを行う方法.
- shutilモジュールを使用してファイルを他のディレクトリから他のディレクトリへ移動する方法.
ファイルを安全に削除するにはsend 2 trashモジュールを使う方法.
- globモジュールを使用して、ディレクトリ内の特定の拡張子(. py、. text , . csvなど)を取得します.
-大容量ファイルの一括編集を行う方法.

仕事に取りかかりましょう
まず最初にPythonでファイルを開く方法を学びましょう.それは実際には超簡単です、私たちは、任意のモジュールをインポートせずに行うことができます.以下のコードでそれを行うことができます.
f = open('/path/file1.txt', 'w+')
f.write('This file will be deleted later')
f.close()
上のコードでは、f . writeの後に“file 1 . txt”ファイルを括弧内の情報として編集しましたが、ファイルパスの後の“w +”では、実際には存在していないファイルを作成するようPythonに指示しています.それで、W +を使用して、新しいファイルを読んで、編集して、作成することができます.
ファイルを処理している間に使用できる他のオプションがあります.+(読み込みと追加の追加コンテンツ)、R(Reading)、Rb(バイナリモードでの読み込み)などがあり、完全に理解し、他のオプションをクリックするとhere
今すぐに十分な前戯、いくつかの本当の楽しみを持ってみましょう
便利なモジュールをインポートしましょう.
import os
import glob
import shutil
import send2trash
上記のインポートされたモジュールの詳細については、この[サイト](http://python.org/)を参照してください.このチュートリアルでは、迅速かつ包括的なPythonファイルの処理機能とコードを使用するだけです.
では、ドキュメントディレクトリ全体をスキャンする機能を作りましょう.
import os
import glob
import shutil
import send2trash


#This function scans the directory entered, for a specific file extension and do something with them
def scan_ext():
    path = input('Enter path')
    gen = glob.iglob(path + "/**/*.py", recursive=True)
    for py in gen:
        f= open(py, 'a+')
        f.write('\n#moved')
        f.close()

#Now let's call the function
scan_ext()
すべてのディレクトリを入力し、再帰的に検索するためのスキャン上記の関数.Pyファイル(Pythonファイル)、それらを開き、それらのファイルの中でファイルを書いてください.
globモジュールはUnixシェルで使用される規則に従って指定されたパターンにマッチするすべてのパス名を見つけます.
他のものの間のグロブは上記のような操作のために使われます、我々はまた、globを使用することができました.globしかしglob.IGLOBは、正しいファイルを探す際にメモリの代わりにそれらを同時に格納することなく、globと同じ値を返す反復子を返します.あなたはジェネレータとしてこの機能でそれを考慮します.グロブチェックアウトについて学ぶために、documentation.
パスが文字列形式でなければならないことを覚えておいてください.例えばLinuxでは
さあ、より多くのPythonファイルを楽しみましょう.次の行に次のコードを追加しましょう.
shutil.move(py, '/home/you/Documents/python_projects/'
上記の最後のコードは、発見されたPythonファイルのそれぞれを「PythonCloudプロジェクト」フォルダに移動します.また、ファイルを移動する前に、このフォルダを作成したことが期待されます.
その代わりに、これらの発見されたPythonファイルを削除したい場合は、以下のコードを追加することもできます.
send2trash.send2trash(py)
しかし、見つかった全てのPythonファイルを見るには、以下のコードを最後の行に追加します.
print(py)
さあ、もっとPythonのファイルを楽しみましょう.これらのPythonファイルに追加されている別の関数を使って、これらのファイルに対するコメントを見ると混乱したくないので、この関数を削除します.これらのファイルを将来的に実行している間にエラーを避けるようにコメントを作ってください.
import os
import glob

#let's remove the '#moved' string
def replace():
    path = input('Enter path\n')

    gen = glob.iglob(path + "/**/*.py", recursive=True)
    for py in gen:
        f = open(py, 'r')
        f_data = f.read()
        f_data = f_data.replace('#moved', '')

        ff = open(py, 'w')
        ff.write(f_data)
        ff.close()

    print('Check removal completed!')

replace()
一方、再帰的にGlobでデフォルトでfalseに設定されているので、trueにする必要があるときにtrueに設定する必要があります.
さらにコードを説明しましょう:あなたはまだそれらを動かしたパスを入力する必要があります.Pyファイルを開き、ファイルを開き、それらを読んで、変数に代入します(ここではFRIGNデータに割り当てます).
その後、同じPyファイルをWモードで開き、新しい編集データ(FHUNEデータ)でそれを上書きして閉じます.また、除去が完了したことを印刷します.
私たちが書く次のPythonファイル処理機能はOSモジュールであり、OSを使用します.与えられたパスでJupyterノートブックファイルをスキャンする方法を歩いてください.
import os

def scan_dirs():
    #Get the file path
    f_path = input('Please enter your file path')
    print(f_path)

    #Make a loop that will scan all the folders, subfolders and files
    for folders, subfolders, files in os.walk(f_path):
        for f in files:
            if f.endswith('.ipynb'):

                print(f'{f}\n')



scan_dirs()
簡潔に上記の機能について議論しましょう
最初にOSを通常通りにインポートし、入力したパスを受け取り、OSを使用しました.パスをファイル内のファイルをスキャンするには、フォルダからサブフォルダーの下にファイルをスキャンするには、デフォルトでは、ループのコードを取得すると、再帰的に検索します.
それから、globを使用する代わりに、我々は使用しました.メソッドを右クリックします.通常のJupyterノートブックの拡張子です.
それから、我々はすべてを印刷します.ipynbファイル.もちろん、この関数も呼び出します.
はい人々..私は、あなたがこのチュートリアルで楽しみを扱う素晴らしいPythonファイルを持っていたことを望みます.次のPythonファイルを扱うチュートリアルでは、オープンしたり操作したり、変換したりしたりするコードを書きます.CSV、PDFなどの重要なファイルの種類、ここで使用されるモジュールとパンダ、PYPDF 2などのいくつかの他のものを使用します.
一方、“フォロー”ボタンを押すと、今後のチュートリアルのループであなたを保つのを助ける.
このような他のチュートリアルをご覧ください.