Python如何读取不同目录下的.txt文件?Flask场景问题咨询
读取非当前路径下文件的实现方法
方案1:直接使用绝对路径(快速可用)
Windows系统下直接写完整路径即可,注意给字符串加r前缀标记为原始字符串,避免反斜杠被识别为转义字符,修改后的代码如下:
from flask import Flask, jsonify import json app = Flask(__name__) @app.route("/") def index(): # 加r前缀使用原始字符串路径,无需转义反斜杠 with open(r'C:\Desktop\flaskpractice\clients.txt') as json_file: data = json.load(json_file) return jsonify(data)
方案2:使用os模块拼接路径(更稳定通用)
如果需要频繁修改路径或者要兼容跨平台运行,推荐用os.path.join方法拼接路径,避免手动拼接的语法错误,修改后的代码如下:
from flask import Flask, jsonify import json import os app = Flask(__name__) # 提前统一定义文件所在目录,后续修改只需改这一处 FILE_DIR = r'C:\Desktop\flaskpractice' @app.route("/") def index(): # 自动拼接得到完整文件路径,适配不同系统的路径分隔符规则 file_path = os.path.join(FILE_DIR, 'clients.txt') with open(file_path) as json_file: data = json.load(json_file) return jsonify(data)
注意事项
- 确保运行Flask进程的用户对
C:\Desktop\flaskpractice目录及clients.txt文件有读取权限,否则会抛出权限异常 - 如果后续需要部署项目到非Windows服务器,需要将路径替换为服务器对应的实际存储路径,推荐将路径参数写到单独的配置文件中维护,无需修改业务代码
内容的提问来源于stack exchange,提问作者noobdev123
相关产品推荐
相关产品推荐

