OSモジュール
オペレーティングシステムとの対話、あなたはファイルを操作することができます
osモジュールは、プログラムは、オペレーティングシステムと対話するために、責任があるファイルの処理に使用する基礎となるオペレーティングシステムにアクセスするためのインタフェースを提供します。
import os
os.getcwd() # 获取当前文件目录
os.mkdir('m2') # 创建一个文件夹
os.rmdir('m2') # 删除文件夹
# *************(经常用到)
res = os.listdir(r'D:\上海Python11期视频\python11期视频\day 17') # 列出所有文件
print(res)
os.rename('test.py','test1.py')
os.remove('test1.py')
# __file__只有pychamr才提供,python本身不支持
print('os.path.abspath(__file__):',os.path.abspath(__file__)) # 支持不同的平台(windows,ios,andirod,linux,unix)
# print('__file__:',__file__)
print(os.path.exists('01 包.py')) # 文件不存在False,存在True
print(os.path.isfile('01 包.py')) # 是否为文件
print(os.path.isdir('01 包.py')) # 是否为文件夹
# ********(经常使用)
# 支持不同的平台(windows,ios,andirod,linux,unix)
res = os.path.join(r'D:\上海Python11期视频\python11期视频\day 17\m1\bbb','m5.py') # 拼接文件路径
res = os.path.join(r'D:\上海Python11期视频\python11期视频\day 17\m1\bbb','m5','test.py') # 拼接文件路径
# print(r'D:\上海Python11期视频\python11期视频\day 17\m1\bb'+'\m5.py')
print(res)
# ******* (经常使用)
print(os.path.abspath(__file__))
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
方法 | 詳しいです |
---|---|
os.getcwd() | 現在の作業ディレクトリを取得している現在のディレクトリパスPythonスクリプトの仕事 |
os.chdir( "dirnameは") | スクリプトは、現在の作業ディレクトリを変更するには、CDをシェルと同等で |
os.curdir | 現在のディレクトリを返します:(「」) |
os.pardir | カレントディレクトリの親ディレクトリ文字列の名前を取得します:(「..」) |
os.makedirs( 'dirname1 / dirname2') | 多層再帰的なディレクトリを生成することができます |
os.removedirs( 'dirname1') | ディレクトリが空の場合ように、削除、および再帰的に親ディレクトリに、また空、削除する必要があり、かつ |
os.mkdir( 'dirnameに') | 単一レベルのディレクトリを生成し、それは、シェルは、mkdir DIRNAMEと等価です |
os.rmdir( 'dirnameに') | 単一ステージの空のディレクトリを削除し、ディレクトリが空でない場合、エラーを削除することができない、シェルRMDIRのDIRNAMEの等価 |
os.listdir( 'dirnameに') | 隠しファイルを含め、指定したディレクトリ内のすべてのファイルとサブディレクトリを、リスト、リストとして印刷 |
os.remove() | ファイルを削除します。 |
os.rename( "OLDNAME"、 "newnameの") | ファイル/ディレクトリの名前を変更します |
os.stat( 'パス/ファイル名') | ファイル/ディレクトリ情報を取得します。 |
os.sep | 出力動作システム固有のパス区切りである「」、 『勝利の下で/』 Linuxのです |
os.linesep | 電流出力ラインターミネータプラットフォームは、勝利は、Linuxの下に「\ nを」として、「\トンの\ nを」です |
os.pathsep | 出力ファイルのパスを分割するための次の文字列のために勝つ;, Linuxです。 |
os.name | それは、インターネットを使用して、現在の出力文字列を示します。勝つ - > 'NT';のLinux - > 'POSIX' |
os.system( "bashコマンド") | シェルコマンドを実行し、直接ディスプレイ |
os.environ | 取得システム環境変数 |
os.path.abspath(パス) | 標準化の絶対パス名のパスを返します。 |
os.path.split(パス) | 返されるタプルのディレクトリとファイル名へのパス |
os.path.dirname(パス) | のディレクトリパスを返します。最初の要素の実際には、os.path.split(パス) |
os.path.basename(パス) | 最後のファイル名のパスを返します。どのようにパス/ \または最後に、それはNULL値を返します。その第2の素子os.path.split(パス)の |
os.path.exists(パス) | パスが存在する場合は、Trueを返します。パスが存在しない場合は、Falseを返します |
os.path.isabs(パス) | パスは絶対パスである場合、Trueを返します |
os.path.isfile(パス) | パスは、既存のファイルで、trueを返す場合。それ以外の場合はFalseを返します |
os.path.isdir(パス) | パスが存在するディレクトリである場合、Trueを返します。それ以外の場合はFalseを返します |
os.path.join(パス1 [、パス2 [、...]]) | 最初のパラメータの前に、返された複数の経路の組み合わせの後に絶対パスを無視し |
os.path.getatime(パス) | ファイルまたはディレクトリへの最終アクセス時刻のパスポイントを返します。 |
os.path.getmtime(パス) | 最終更新時刻にファイルまたはディレクトリのパスポイントを返します。 |
- os.path.getsize(パス)は、パスのサイズを返します
列のタイトル
演算コード(フォルダパスで与えられ、文書の全て、PYフォルダ、指定されたファイルをPY、コードファイルPYの行数を計算する)機能
ef count_line(files):
count = 0
if files.endswith('.py'):
with open (files,'r',encoding='utf8') as fr:
data = fr.read().split('\n')
for i in data:
if i.startswith('#') or i == '\n':
continue
else:
count += 1
print('files代码行数:',count)
else:
if os.path.isdir(files):
for dir, _, file_path_list in os.walk(files):
print(dir,file_path_list)
for file_path in file_path_list:
try:
file_path = os.path.join(dir, file_path)
path_list = file_path.split('.')
file_count = 0
if path_list[-1] == 'py':
with open(file_path, 'r', encoding='utf8') as fr:
for line in fr:
if line.startswith('#') or line == '\n':
continue
else:
count += 1
file_count += 1
print(f'{file_path}有{file_count}行')
except Exception:
print(f'该文件{file_path}有问题')
continue
count_line(r'E:\python folder\正式班\day17')