
# FunctionGraph的函数如何读写上传的文件？
#### 函数工作目录权限说明
函数可以读取代码目录下的文件，函数工作目录在入口文件的上一级，例如用户上传了文件夹backend，需要读取与入口文件同级目录的文件test.conf，可以用相对路径"code/backend/test.conf"，或者使用全路径（相关目录为RUNTIME_CODE_ROOT环境变量对应的值）。如果需要写文件（如创建新文件或者下载文件等），可以在/tmp目录下进行或者使用函数提供的挂载文件系统功能。
![](https://support.huaweicloud.com/functiongraph_faq/public_sys-resources/note_3.0-zh-cn.png)
- 若容器回收，文件的读写就会失效。
- 函数目前不支持持久化。
 
#### 典型场景
- 需要对OBS上的文件进行处理，可以先把文件下载到/tmp目录。
- 函数运行过程中产生了一些数据想保存到OBS，可以先在/tmp目录下创建新文件，然后把这些数据写到里面，接下来上传该文件到OBS。
 
#### 获取上传的文件
以Python语言为例，如果用户用os.getcwd()查看当前目录的话，会发现当前目录是/opt/function，但实际代码是传到/opt/function/code里的。
有2种方法可以获取到上传的文件：
1. 函数里使用**cd** 命令切换路径到**/opt/function/code**
2. 使用全路径（相关目录为RUNTIME_CODE_ROOT环境变量对应的值）
   ![](https://support.huaweicloud.com/functiongraph_faq/public_sys-resources/note_3.0-zh-cn.png)
   其他语言同理，可参考如上方法获取上传的文件。
   
 
