
# 使用moxing适配OBS路径，pandas读取文件报错
#### 问题现象
使用moxing适配OBS路径，然后用较高版本的pandas读取OBS文件报出如下错误：
```
1.‘can't decode byte xxx in position xxx’
2.‘OSError:File isn't open for writing’
```
#### 原因分析
出现该问题的可能原因如下：
moxing对高版本的pandas兼容性不够。
#### 处理方法
1. 在适配OBS路径后，读取文件模式从'r'改成'rb'，然后将mox.file.File的'_write_check_passed'属性值改为'True'，参考如下代码。
   ```
   import pandas as pd
   import moxing as mox
   mox.file.shift('os', 'mox')  # 将os的open操作替换为mox.file.File适配OBS路径的操作
   param = {'encoding': 'utf-8'}
   path = 'xxx.csv'
   with open(path, 'rb') as f:
       f._write_check_passed = True
       df = pd.read_csv(ff, **param)
   ```
   
2. 必现的问题，使用本地Pycharm远程连接Notebook调试。
 
#### 建议与总结
在创建训练作业前，推荐您先使用ModelArts开发环境调试训练代码，避免代码迁移过程中的错误。
- 直接使用线上notebook环境调试请参考[使用JupyterLab开发模型](https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_0012.html)。
- 配置本地IDE（Pycharm或者VSCode）连接云上环境调试请参考[使用本地IDE开发模型](https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_0019.html)。
 
