AWS EC2 Linux实例中Pandas生成CSV遇权限拒绝问题求助
问题原因及解决办法
原因
- 运行Python代码的Linux用户没有当前工作目录的写入权限,导致Pandas无法创建CSV文件,文件实际从未生成,所以删除时提示“不存在”。
- Windows与Linux权限模型不同:Windows普通用户默认对多数目录有写入权限,而Linux对目录权限管控更严格,尤其是系统默认路径(如
/root、/usr)或其他用户的目录。
解决办法
1. 切换到有权限的目录执行代码
- 先查看当前工作目录:执行命令
pwd - 切换到用户主目录(如
/home/ec2-user):cd ~,再重新运行代码 - 或者直接指定有权限的路径保存文件,修改代码如下:
import pandas as pd df = pd.DataFrame(listlead) # 保存到用户主目录 df.to_csv('/home/ec2-user/new1234567.csv')
2. 调整当前目录的权限(谨慎操作)
- 查看当前目录的权限和所属用户:
ls -ld . - 若目录属于当前用户,添加写入权限:
chmod u+w . - 若目录属于其他用户,可联系管理员调整权限;临时需求下可赋予所有用户写入权限(不推荐生产环境):
chmod o+w .
3. 以合适的用户身份运行代码
- 临时以root权限执行代码(不推荐生产环境):
sudo python3 your_script.py(替换your_script.py为你的脚本文件名)
内容的提问来源于stack exchange,提问作者Thirunageswaran Sivakumaran
相关产品推荐
相关产品推荐

