作者fordpines (阿福)
看板Python
标题[问题] Django 档案写入问题
时间Sat Nov 4 01:46:10 2017
最近在学django 顺便把以前写的小工具整合好弄成弄成网页版
现在卡在:读完上传好的档案以後再做一些处理 把处理好的结果存成另外一个档案後
会变成这样
https://imgur.com/ORtLlfH
查了一下stack overflow 有发现类似的问题(
http://bit.ly/2hBHQEh)
但照着他的做法还是没用
不太知道要怎麽表达问题 但麻烦乡民了
顺便问一下最近有没有人用vmware灌ubuntu
有时候会突然像是按了ctrl没放开一样 会一直反白文字或是放大缩小
鼠标也离不开vmware的视窗
除非把他强制关闭不然解决不了问题
我记得8月还没这个问题的啊...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.225.56.33
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1509731173.A.481.html
1F:→ kenduest: 错误讯息有说你是写档案到系统的 /media/ 目录内了 11/04 02:00
2F:→ kenduest: 你确定你程式真的是要写入档案放在根目录内的 /media ? 11/04 02:00
3F:→ kenduest: 另外你用 os.path.dirname(__file__) 这语法颇怪异 11/04 02:01
4F:→ kenduest: 很明显你程式码内这结果传回空字串,所以 join 路径 11/04 02:03
5F:→ kenduest: 是一个 "" + /media/....." 组合结果,所以就是 /media/ 11/04 02:04
6F:→ kenduest: __file__ 这种取法是不能够正确取得自己本身完整路径 11/04 02:06
我刚刚把route里面的/media/删掉就可以存了 可是我的确是要存到根目录的media目录里面
※ 编辑: fordpines (36.225.56.33), 11/04/2017 02:12:20
7F:→ kenduest: 单一 script 手动执行方式不同会有不同结果 11/04 02:08
8F:→ kenduest: python xxx.py 时候 __file__ 是得到 1.py 11/04 02:08
9F:→ kenduest: 修正: python xxx.py 时候 __file__ 是得到 xxx.py 11/04 02:09
10F:推 Sunal: os.path.dirname(os.path.abspath(__file__)) 11/04 02:09
11F:→ kenduest: python /path/xxx.py 的话 __file__ 是 /path/xxx.py 11/04 02:10
12F:→ Sunal: 取当下script所在folder绝对路径是这样取 11/04 02:10
13F:→ kenduest: 若你程式坚持要依据 py 档案自己本身所在目录的话 11/04 02:10
14F:→ kenduest: 至少考虑一下取得真实的绝对路径位置 11/04 02:10
15F:→ kenduest: os.path.dirname(os.path.realpath(__file__)) 11/04 02:11
16F:→ kenduest: 这种才比较对,才不会出包 11/04 02:11
17F:→ kenduest: 另外你写 django 一般档案写入应该主要是要写入到 11/04 02:11
18F:→ kenduest: 系统规定的 MEDIA_ROOT 变数内相关的路径位置比较对啊 11/04 02:12
19F:推 Sunal: 要用abspath 跟realpath也是看情况吧 11/04 02:14
20F:→ kenduest: 对,我意思是取绝对路径,用 abspath 比较正确,感谢 11/04 02:16
21F:推 Sunal: 自己开一个folder 权限跟拥有者设定好 通常不会直接存到 11/04 02:25
22F:→ Sunal: /media底下 11/04 02:25