Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:Errno 22无效参数_Python_Django - Fatal编程技术网

Python:Errno 22无效参数

Python:Errno 22无效参数,python,django,Python,Django,我正在用python(2.7.5)和django(1.6.1)将附件保存在一个文件夹中。它在linux机器上运行得非常好。但我在windows上执行此项目时,遇到以下错误 [Errno 22] Invalid argument Request Method: POST Request URL: http://127.0.0.1:8000/save_partner Django Version: 1.6.1 Exception Type: OSError Exception Value:

我正在用python(2.7.5)和django(1.6.1)将附件保存在一个文件夹中。它在linux机器上运行得非常好。但我在windows上执行此项目时,遇到以下错误

[Errno 22] Invalid argument
Request Method: POST
Request URL:    http://127.0.0.1:8000/save_partner
Django Version: 1.6.1
Exception Type: OSError
Exception Value:    
[Errno 22] Invalid argument
Exception Location: C:\Python27\lib\site-packages\django\core\files\storage.py in    _save, line 199
Python Executable:  C:\Python27\python.exe
Python Version: 2.7.6
Python Path:    
['C:\\Projects\\customer',
'C:\\Python27\\lib\\site-packages\\distribute-0.6.49-py2.7.egg',
'C:\\Python27\\lib\\site-packages\\pymongo-2.6.3-py2.7-win-amd64.egg',
'C:\\Windows\\system32\\python27.zip',
'C:\\Python27\\DLLs',
'C:\\Python27\\lib',
'C:\\Python27\\lib\\plat-win',
'C:\\Python27\\lib\\lib-tk',
'C:\\Python27',
'C:\\Python27\\lib\\site-packages',
'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg-info']
Server time:    Sat, 29 Mar 2014 12:53:35 +0530    
错误显示在默认存储(最后一行)行中

默认的_存储是从django导入的

from django.core.files.storage import default_storage

为什么它不能在windows7中工作?

您是如何填充
文件路径的?很可能是使用Linux文件路径约定构建它,Linux使用前斜杠(
/
)作为路径分隔符,而Windows使用后斜杠(
\
)。使用Python的
os.path
模块以独立于平台的方式制定文件路径

#prints spam\egg on Windows and spam/egg on Linux
print os.path.join('spam', 'egg')

请在错误行周围发布更多代码。您的路径可能是无效的Windows文件路径(请检查背面/斜线)@omeinusch,谢谢check@Yuval亚当,谢谢你的回复,如果我改变了斜杠,它会在linux上再次执行。所以我需要独立于操作系统的代码
#prints spam\egg on Windows and spam/egg on Linux
print os.path.join('spam', 'egg')