import osprint(os.getcwd())
Windows中采用反斜杠(\)作为文件夹之间的分隔符Mac和Linux中采用斜杠(/)作为文件夹之间的分隔符反斜杠在Python中用于转义,所以变成了两个反斜杠(\\)os.path.join(第一个,第二个,第三个,……)例:D:\WorkSoftware\PythonProjectimport os#列出指定某个文件夹下的所有文件和文件夹for item in os.listdir(r'D:\WorkSoftware\PythonProject'): print(item,os.path.isdir(item))
os.path.isdir(要判断的文件或者文件夹路径)import osfiles = os.listdir(r'D:\WorkSoftware\PythonProject')for file in files: print(file,os.path.isdir(file))
import osfiles = r'D:\WorkSoftware\PythonProject'for file in os.scandir(files): print(file.name, file.path, file.is_dir())
import os#dirpath文件夹路径#dirnames为dirpath文件夹下的子文件夹列表#files是dirpath文件夹中文件列表for dirpath, dirnames, files in os.walk(r'D:\WorkSoftware\PythonProject\CWsoft'): print(f'发现文件夹_{dirpath}') print(f'发现文件_{files}')
import globprint(glob.glob("*.py"))
import glob#用**表示任意层文件或文件夹#recursive=True会不断进入文件夹内#可将隐藏多层的文件或文件夹找出来print(glob.glob('**/*.txt',recursive=True)
import osfor file in os.scandir(r'D:\WorkSoftware\PythonProject\CWsoft'): print(file.name, file.stat().st_size / 1024, 'kb')
1)读取文件内容:open()、readlines()、close()#open()打开某个文件,‘r'读取文件,encoding='utf-8'表示以uff-8编码读取f=open('oem.txt','r',encoding='utf-8')#readlines()会将每一行都读取出来text = f.readlines()print(text)f.close()
#with:无论程序是否正常运行都会关闭文件,不需要单独写close()with open('oem.txt','r',encoding='utf-8') as f: text=f.read() print(text)
with open(r'C:\Users\15765\Desktop\test.txt','w',encoding='utf-8') as f: text='增加第一行内容\n增加第二行内容\n' f.write(text) f.write('增加第三行内容\n')with open(r'C:\Users\15765\Desktop\test.txt','r',encoding='utf-8') as f: text=f.read() print(text)
‘w’表示写入文件。若无该文件,将直接创建;若有这个文件,则里面内容将清空;‘a’表示写入文件。若无该文件,将直接创建;若有这个文件,则会在里面内容后继续写入内容。以下为a模式测试结果:from tempfile import TemporaryFile#'w+'表示写入及读取文件,.seek(0)表示回到文件开头位置;程序运行完后会自动删除临时文件with TemporaryFile('w+') as f: f.write('Hello World\n你好') f.seek(0) #光标位置 data=f.read() print(data) f.close()
from tempfile import TemporaryDirectory#'w+'表示写入及读取文件,.seek(0)表示回到文件开头位置;程序运行完后会自动删除临时文件 with TemporaryDirectory() as tmp_folder: print(f'临时文件夹已经创建:{tmp_folder}')
zipfile.ZipFile(),namelist()import zipfilewith zipfile.ZipFile(r'D:\BaiduNetdiskDownload\SurfaceLaptop_BMR_41_12.689.0.zip', 'r') as zip_ref:print(zip_ref.namelist())
for filename in zip_ref.namelist(): print(file_name.encode('cp437').decode('gbk'))
zipobj.extract(压缩后文件名,解压到哪个位置)import zipfilewith zipfile.ZipFile(r"D:\onedrive\OneDrive\文章书稿\智能会计研究\人工智能.zip", "r") as zip_ref: zip_ref.extract("The_Future_of_Employment.pdf",r'D:\备份文件')
.extractall(path=解压到哪个位置)with zipfile.ZipFile('一个压缩包.zip','r') as zipobj: zipobj.extractall()
.extractall(path=解压到哪个位置,pwd='密码')with zipfile.ZipFile('一个有密码的压缩包.zip','r') as zipobj: zipobj.extractall(path='解压',pwd='password')
import zipobj.wirte(待压缩文件名)file_list=['lesson1.py','lesson2.py','lesson3.py','file1.txt']with zipfile.ZipFile('这是一个程序创建的压缩包.zip','w') as zipobj: for file in file_list: zipobj.write(file)
with zipfile.zipfile('这是程序创建的压缩包.zip','a') as zipobj: zipobj.write('file2.txt')