太久没写python代码了,学机器学习重新拾起python,笔记比较简陋。
参考:mosh python网课
目录
一、Files
path-文件操作
path-文件夹操作
文件内容读取与编辑
ZIP
CSV
JSON
一、Files
path-文件操作
- 创建路径的两种方式。一种\\,一种r \
from pathlib import Path
Path("D:\\pythonProject")
Path(r"D:\pythonProject")
from pathlib import Path
path = Path("ecommerce/sales.py") # 相对路径,前面省略的是当前文件所在的文件夹路径。
print(path.exists()) # 判断文件是否存在。
print(path.is_file()) # 判断是否是文件。
print(path.is_dir()) # 判断是否是文件夹。
print(path.name) #返回文件名字。
print(path.stem) # 返回文件名字,无扩展名。
print(path.suffix) # 返回文件扩展名,即类型。
print(path.parent) #返回文件所在的文件夹名字
path = path.with_suffix(".txt") # 修改文件后缀名。
print(path)
"""打印
True
True
False
sales.py
sales
.py
ecommerce
ecommerce\sales.txt
"""
文件删除
path = Path("ecommerce/__init__.py")
path.unlink() # Remove this file or link. 运行后,文件被删除。
path-文件夹操作
from pathlib import Path
path = Path("ecommerce")
print(path.exists()) # 文件夹是否存在
print(path.mkdir()) # Create a new directory at this given path.
path.rmdir() # Remove this directory. The directory must be empty.
path.rename("ecommerce2")
iterdir()
# path.iterdir()返回文件夹下的所有文件和文件夹
for p in path.iterdir():
print(p)
#可以包装到list中。
path = [p for p in path.iterdir()]
print(path)
path = [p for p in path.iterdir() if p.is_dir()] #返回是文件夹的。
py_files = [p for p in path.glob("*.py")] #返回是.py类型文件的。
print(py_files)
文件内容读取与编辑
print(path.read_text()) # 读取文件内容,打印出来。
path.write_text(".....") # 文件原来的内容被删除,修改成该内容。
内容拷贝
#方法一
from pathlib import Path
source = Path("ecommerce/__init__.py")
target = Path()/"__init__.py"
target.write_text(source.read_text())
#方法二
import shutil
shutil.copy(source, target)
ZIP
from pathlib import Path
from zipfile import ZipFile
zip = ZipFile("files.zip", "w") #在当前文件夹下生成files.zip文件。
# 把ecommerce文件夹压缩到files.zip中。
with ZipFile("files.zip", "w") as zip:
for path in Path("ecommerce").rglob("*.*"):
zip.write(path)
CSV
import csv
#加入newline=""可写入无换行。
with open("data.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["transaction_id", "product_id", "price"])
writer.writerow([1000, 1, 2])
writer.writerow([1000, 2, 20])
#读取。
import csv
with open("data.csv") as file:
reader = csv.reader(file)
print(list(reader))
with open("data.csv") as file:
reader = csv.reader(file)
for row in reader: #一行是一个list打印出来。
print(row)
JSON
写入
import json
from pathlib import Path
movies = [
{"id": 1, "title": "Terminator", "year": 1989},
{"id": 2, "title": "Kindergarten", "year": 1999},
]
data = json.dumps(movies) #将python编码成json字符串
Path("movies.json").write_text(data) #写入。
读取
import json
from pathlib import Path
data = Path("movies.json").read_text()
movies = json.loads(data)
print(movies)
剩下的SQLite,Date,Random values,emails等用到再学。 SQLite在视频30min处。