一般的な使用OSモジュール
Pythonでは、OSモジュールは、ファイルやディレクトリを処理するための非常に豊富な方法を提供します。次のように一般的な使用方法は次のとおりです。
1. os.getcwd()
それは、現在のディレクトリのPythonスクリプトの仕事である、現在の作業ディレクトリを取得します。
>>> import os
>>> os.getcwd() #查看当前目录
'E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料'
2. os.chdir()
現在の作業ディレクトリを変更します。
>>> os.getcwd()
'E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料'
>>> os.chdir("E:\\课堂笔记") #改变工作目录到E:\\课堂笔记
>>> os.getcwd() #查看当前工作目录
'E:\\课堂笔记'
3.でos.listdir()
現在のディレクトリの下にあるすべてのファイルとディレクトリを表示します
>>> os.chdir("E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料")
>>> os.listdir() #显示当前目录下的所有文件
['dict.txt', 'dnsbrute.py', 'dnsyuming_dict.txt', 'DNS二级域名爆破.docx', 'DNS区域 传送漏洞实验.docx', 'erjiyumingbaopo.py', 'WINDOWS理论课11.doc', 'zy.txt', '下午作 业']
4. os.path.isdir()
それがディレクトリであるかどうかを判断し(つまり、ディレクトリのフォルダでなければなりません)、戻り値は次のとおりです。TrueまたはFalse
>>> os.path.isdir("下午作业") #目录——>必须是文件夹
True
5. os.path.isfile()
ファイルがあるかどうかを決定する、戻り値:TrueまたはFalse
- あなたは絶対パスでなければなりません
- そのディレクトリ内のファイルである必要があります
>>> os.path.isfile("E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料\\zy.txt")
True
6. os.mkdir()
新規ディレクトリ
>>> os.listdir()
['dict.txt', 'dnsbrute.py', 'dnsyuming_dict.txt', 'DNS二级域名爆破.docx', 'DNS区域 传送漏洞实验.docx', 'erjiyumingbaopo.py', 'WINDOWS理论课11.doc', 'zy.txt', '下午作 业']
>>> os.mkdir("test")
>>> os.listdir()
['dict.txt', 'dnsbrute.py', 'dnsyuming_dict.txt', 'DNS二级域名爆破.docx', 'DNS区域 传送漏洞实验.docx', 'erjiyumingbaopo.py', 'test', 'WINDOWS理论课11.doc', 'zy.txt', '下午作业']
7. os.makedirs()
新しいディレクトリのサブディレクトリ
>>> os.makedirs("test2\\1\\2")
>>> os.listdir()
['dict.txt', 'dnsbrute.py', 'dnsyuming_dict.txt', 'DNS二级域名爆破.docx', 'DNS区域 传送漏洞实验.docx', 'erjiyumingbaopo.py', 'test', 'test2', 'WINDOWS理论课11.doc', 'zy.txt', '下午作业']
8. os.rmdir()
あなただけのディレクトリ(つまり、フォルダ)、それ以外の場合は削除することができないため、空のディレクトリを削除することができます。あなたは、ファイルのサブディレクトリを削除するには、shutil.rmtreeを使用することができます()
>>> os.listdir()
['dict.txt', 'dnsbrute.py', 'dnsyuming_dict.txt', 'DNS二级域名爆破.docx', 'DNS区域 传送漏洞实验.docx', 'erjiyumingbaopo.py', 'test', 'test2', 'WINDOWS理论课11.doc', 'zy.txt', '下午作业']
>>> os.rmdir("test")
>>> os.rmdir("test2")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [WinError 145] 目录不是空的。: 'test2'
>>> import shutil
>>> shutil.rmtree("test2")
>>> os.listdir()
['dict.txt', 'dnsbrute.py', 'dnsyuming_dict.txt', 'DNS二级域名爆破.docx', 'DNS区域 传送漏洞实验.docx', 'erjiyumingbaopo.py', 'WINDOWS理论课11.doc', 'zy.txt', '下午作 业']
9. os.remove()
ファイルを削除します
>>> os.listdir()
['123.txt', 'dict.txt', 'dnsbrute.py', 'dnsyuming_dict.txt', 'DNS二级域名爆破.docx', 'DNS区域传送漏洞实验.docx', 'erjiyumingbaopo.py', 'WINDOWS理论课11.doc', 'zy.txt', '下午作业']
>>> os.remove("123.txt")
>>> os.listdir()
['dict.txt', 'dnsbrute.py', 'dnsyuming_dict.txt', 'DNS二级域名爆破.docx', 'DNS区域 传送漏洞实验.docx', 'erjiyumingbaopo.py', 'WINDOWS理论课11.doc', 'zy.txt', '下午作 业']
10. os.system()
PowerShellコマンドシェルやコマンドを実行します。
>>> os.system("cmd")
Microsoft Windows [版本 10.0.17134.765]
(c) 2018 Microsoft Corporation。保留所有权利。
E:\课堂笔记\第二十三节(Windows)(2019年6月1日)\笔记和资料>python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.system("powershell")
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。
PS E:\课堂笔记\第二十三节(Windows)(2019年6月1日)\笔记和资料>
11. os.sep
意味:システムメインパス区切り文字を
Windowsシステムでは、Ubuntuの区切りとして「\」、Linuxのようなシステムである「/」、およびApple社のMac OSシステムがあります「:」
>>> import os
>>> os.sep
'\\'
12. os.path.split()
パスのディレクトリ名やファイル名を返します。(絶対パスでなければなりません)
>>> os.path.split("E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料")
('E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)', '笔记和资料')
13. os.path.splitdrive()
スプリットパスディスクで
>>> import os
>>> os.path.splitdrive("E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料")
('E:', '\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料')
14. os.path.join()を使ってください
組み合わせパス
>>> path="d:\\python_code\\csv"
>>> f="1.txt"
>>> os.path.join(path,f)
'd:\\python_code\\csv\\1.txt'
15. os.path.exists()
TrueまたはFalse:指定されたパスは、戻り値が存在するかどうかをテストするために使用します。
>>> import os
>>> os.path.exists("E:\课堂笔记\第二十三节(Windows)(2019年6月1日)")
True
>>> os.path.exists("E:\课堂笔记\第二十四节(2019年6月2日)Windows")
True
>>> os.path.exists("E:\课堂笔记\第二十四节(2019年6月2日)Windows\\1.txt")
False
16. os.path.abcpath()
絶対パスを取得します。CMDは下のディレクトリを表示することができます。
>>> os.path.abspath("下午作业")
'E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料\\下午作业'
17. os.path.basename()
名前リターンをファイル、ディレクトリパスを削除
>>> os.path.basename("E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料\\下午作业")
'下午作业'
18. os.path.dirname()
ファイル名を削除し、リターンへのディレクトリパス
>>> os.path.dirname("E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料\\ 下午作业")
'E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料'
19. os.path.splitext()
別のファイル名と拡張子
>>> os.path.splitext("E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料\\ 下午作业\\zy.txt")
('E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料\\ 下午作业\\zy', '.txt')
>>> os.path.splitext("zy.txt")
('zy', '.txt')
20. os.path.getsize()
ディレクトリ名には、0を返す場合は、ファイルサイズを取得し、ファイルのバイト数は、ファイルが返された場合。
>>> os.path.getsize("E:\\课堂笔记")
8192
>>> os.path.getsize("E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)")
0
>>> os.path.getsize("E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料")
4096
>>> os.path.getsize("E:\\课堂笔记\\第二十三节(Windows)(2019年6月1日)\\笔记和资料\\dict.txt")
356