Python 中三种常见的配置文件写法

为什么要写配置文件
在开发过程中,我们常常会用到一些固定参数或者是常量。对于这些较为固定且常用到的部分,往往会将其写到一个固定文件中,避免在不同的模块代码中重复出现从而保持核心代码整洁。
这个固定文件我们可以直接写成一个 .py文件,这样的好处就是能够在同一工程下直接通过import来导入当中的部分;但如果我们需要在其他非 Python 的平台进行配置文件共享时,写成单个.py就不是一个很好的选择。
这时我们就应该选择通用的配置文件类型来作为存储这些固定的部分。目前常用且流行的配置文件格式类型主要有 ini、json、toml、yaml、xml等,这些类型的配置文件我们都可以通过标准库或第三方库来进行解析
ini即 Initialize 初始化之意,早期是在 Windows 上配置文件的存储格式。ini文件的写法通俗易懂,往往比较简单,通常由节(Section)、键(key)和值(value)组成,就像以下形式:
[mysqldb]
host = 127.0.0.1
user = root
password = 123456
port = 3306
database = mysql
json格式可以说是我们常见的一种文件形式了,也是目前在互联网较为流行的一种数据交换格式。除此之外,json有时也是配置文件的一种。Python 内置了json标准库,可以通过load和loads方法来导入文件式和字符串的json内容。
{
"localdb":{
"host": "127.0.0.1",
"user": "root",
"password": "123456",
"port": 3306,
"database": "mysql"
}}
将上述内容保存为 db.json后进行读取和解析,json库读取 json 文件解析成python的字典对象。

读取相应的数据

yaml
yaml格式(或yml格式)是目前较为流行的一种配置文件
pip install pyyaml #下载安装
mysql:
  host: "127.0.0.1"
  port: 3306
  user: "root"
  password: "root"
  database: "test"
parameter:
  pool_size: 5
  charset: "utf-8"
name:
  book: 朝花夕拾
  books: 三体
将上述内容保存为 db.yaml后进行读取和解析
f=open('db.yaml',encoding='utf-8')
data=f.read()
print(data) #打印相应的yaml数据
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 前端页面代码(HTML): ```html <form action="/upload" method="POST" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="上传"> </form> ``` 后端代码(Flask): ```python from flask import Flask, request app = Flask(__name__) @app.route('/upload', methods=['POST']) def upload(): file = request.files['file'] file.save('path/to/save/file') return '文件上传成功' ``` 注意: 上传文件保存的路径需要是绝对路径。 ### 回答2: Flask是一个轻量级的Python Web开发框架,提供了简单而灵活的方式来处理文件上传。文件上传涉及到前后端两个方面的代码编,下面是关于Flask文件上传的前后端写法。 前端写法: 1. 在HTML表单添加一个文件上传输入框,并设置相应的name属性以便后端处理。 `<input type="file" name="file">` 2. 使用JavaScript监听文件上传输入框的change事件,获取选的文件对象。 ``` const fileInput = document.querySelector('input[type="file"]'); fileInput.addEventListener('change', (event) => { const file = event.target.files[0]; // 处理文件... }); ``` 3. 将选的文件对象以FormData的形式发送到后端。 ``` const fileInput = document.querySelector('input[type="file"]'); const formData = new FormData(); formData.append('file', fileInput.files[0]); // 发送FormData到后端... ``` 后端写法: 1. 在Flask导入相关模块。 ``` from flask import Flask, request from werkzeug.utils import secure_filename ``` 2. 创建Flask应用。 ``` app = Flask(__name__) ``` 3. 设置文件上传的保存路径。 ``` app.config['UPLOAD_FOLDER'] = '/path/to/uploads' ``` 4. 定义文件上传的路由。 ``` @app.route('/upload', methods=['POST']) def upload_file(): file = request.files['file'] if file: filename = secure_filename(file.filename) file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) # 文件上传成功的处理逻辑... else: # 文件上传失败的处理逻辑... ``` 上述代码的`/path/to/uploads`是文件保存的路径,可以根据需要进行修改。在后端的文件上传路由,首先从请求获取文件对象,然后使用`secure_filename()`函数确保文件名的安全性,并将文件保存到指定的路径。最后,根据文件上传的成功或失败情况处理相应的逻辑。 需要注意的是,Flask默认的文件上传大小限制为16MB。如果需要上传更大的文件,可以通过配置`MAX_CONTENT_LENGTH`来修改。另外,还可以添加文件类型、大小等验证逻辑以增加安全性。 ### 回答3: Flask是一个轻量级的Python Web框架,用于构建Web应用程序。关于Flask上传文件的前后端写法,涵盖了前端页面展示和后端处理两部分。 前端页面展示: 1. 在HTML页面,需要添加一个表单元素用于文件上传,如<form>标签,并设置enctype属性为"multipart/form-data"。 2. 在表单添加一个<input>标签,并设置type属性为"file",用于用户选择要上传的文件。 3. 将表单元素和输入框包含在一个适当的位置,比如一个div元素,以便于布局和样式设置。 后端处理: 1. 在Flask的应用程序,需要引入"request"模块,该模块用于处理上传的文件。 2. 使用@app.route装饰器定义一个路由,指定接收上传文件的URL地址,并设置方法为POST。 3. 在对应的视图函数获取上传的文件,通过request.files.get("file")即可获取到上传的文件对象。 4. 通过文件对象的save()方法,将文件保存到服务器上的指定位置。可以为每个上传的文件设置一个保存路径,比如app.config['UPLOAD_FOLDER']。 5. 针对上传文件的需求,可以进行文件格式、大小、后缀等验证和处理,如通过文件对象的filename属性获取文件的名称和后缀,通过文件对象的content_type属性获取文件的MIME类型等。 以上是Flask上传文件的简要介绍,具体的实现细节和业务逻辑根据具体需求和应用场景的不同可能会有所差异。这只是一个简单的示例,可以根据实际情况进行扩展和定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值