相关疑难解决方法(0)

如何确定文本的编码?

我收到了一些编码的文本,但我不知道使用了什么字符集.有没有办法使用Python确定文本文件的编码?如何检测文本文件的编码/代码页处理C#.

python encoding text-files

204
推荐指数
7
解决办法
20万
查看次数

如何在python中检查没有扩展名的文件类型?

我有一个文件夹,这些文件没有扩展名.我该如何检查文件类型?我想检查文件类型并相应地更改文件名.我们假设一个函数filetype(x)返回类似的文件类型png.我想做这个:

files = os.listdir(".")
for f in files:
    os.rename(f, f+filetype(f))
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

python filesystems identification

65
推荐指数
6
解决办法
10万
查看次数

在Django中验证上传的文件

我工作的Django应用程序有一个Event模型.一个Event可能有关联的照片,静态HTML文件和PDF文件.

我想允许受信任的用户上传这些文件,但我对安全性很警惕,特别是在Django文档(链接)中阅读了以下内容.

请注意,无论何时处理上传的文件,都应密切关注上传文件的位置以及文件的类型,以避免安全漏洞.验证所有上传的文件,以确保文件符合您的认可.例如,如果您盲目地让某人将文件上传到Web服务器文档根目录中的目录而无需验证,那么有人可以上传CGI或PHP脚本并通过访问您站点上的URL来执行该脚本.不要允许.

如何验证不同类型的文件?我很想听听任何人处理这种事情的经历,或者是进一步阅读的链接.我有一种直觉,认为html文件风险太大,在这种情况下我会限制管理员的上传权限.

python security django file-upload

22
推荐指数
4
解决办法
7508
查看次数

Flask-删除上传后的上传内容

我目前正在开发一个小型Web界面,允许不同的用户上传文件,转换他们上传的文件,并下载转换后的文件.转换的细节对我的问题并不重要.

我目前正在使用flask-uploads来管理上传的文件,我将它们存储在文件系统中.一旦用户上传并转换文件,就会有各种漂亮的按钮来删除文件,因此上传文件夹不会填满.

我不认为这是理想的.我真正想要的是在下载文件后立即删除它们.我会满足于会话结束时被删除的文件.

我花了一些时间试图弄清楚如何做到这一点,但我还没有成功.这似乎不是一个不寻常的问题,所以我认为必须有一些解决方案,我错过了.有没有人有办法解决吗?

python flask

13
推荐指数
2
解决办法
8429
查看次数

使用Python获取文件的mimetype

我想确定一个xml文件的mimetype,但我得到一些实例的错误作为第一个参数.我是python的新手请帮忙.下面是我正在使用的代码和它抛出的错误.

from mimetypes import MimeTypes
import urllib 
FILENAME = 'Upload.xml'
url = urllib.pathname2url(FILENAME)
type = MimeTypes.guess_type(url)
print type

**ERROR :** Traceback (most recent call last):
File "/home/navi/Desktop/quicksort.py", line 20, in <module>
type = MimeTypes.guess_type(url)
TypeError: unbound method guess_type() must be called with MimeTypes instance as first argument (got str instance instead)
Run Code Online (Sandbox Code Playgroud)

python

12
推荐指数
1
解决办法
2万
查看次数

检测文件是否是Python中的图像

是否有任何通用的方法来检测文件是否是图像(jpg,bmp,png等...)

或者是制作文件扩展名列表并以唯一的方式进行逐一比较?

python image

10
推荐指数
2
解决办法
2万
查看次数

如何将Django FileField作为附件发送电子邮件?

我需要models.FileField使用Django 发送一个电子邮件附件.我已经看到了片段,显示了如何使用原始request.FILES数据(仍包含Content-Type)来执行此操作,但是一旦您已经将文件保存在一个文件中,就无法找到任何显示如何执行此操作的内容models.FileField.内容类型似乎无法访问models.FileField.

有人能给我一个如何运作的例子吗?我开始认为在保存文件时我可能必须将Content-Type存储在模型中.

谢谢!

django email-attachments filefield

6
推荐指数
4
解决办法
5373
查看次数

检查文件类型是否为媒体文件?

我正在尝试遍历文件列表,并返回那些作为媒体文件(图像、视频、gif、音频等)的文件。

看到有很多媒体类型,是否有一个库或更好的方法来检查这个,而不是列出所有类型然后根据该列表检查文件?

这是我目前正在做的事情:

import os
types = [".mp3", ".mpeg", ".gif", ".jpg", ".jpeg"]
files = ["test.mp3", "test.tmp", "filename.mpg", ".AutoConfig"]

media_files = []
for file in files:
    root, extention = os.path.splitext(file)
    print(extention)
    if extention in types:
        media_files.append(file)

print("Found media files are:")
print(media_files)
Run Code Online (Sandbox Code Playgroud)

但请注意它没有包括filename.mpg,因为我忘了把它.mpg放在我的types列表中。(或者,更有可能的是,我没想到该列表会包含一个.mpg文件,所以没有考虑将其列出。)

python python-3.x

6
推荐指数
1
解决办法
4635
查看次数

Django - 上传文件类型验证

我需要验证上传文件的文件类型,并且只允许pdf,普通测试和MS word文件.这是我的模型和带验证功能的表单.但是,即使没有扩展名,我也可以上传文件.

class Section(models.Model):
    content = models.FileField(upload_to="documents")

class SectionForm(forms.ModelForm):
    class Meta:
        model = Section
    FILE_EXT_WHITELIST = ['pdf','text','msword']

    def clean_content(self):
        content = self.cleaned_data['content']
        if content:
            file_type = content.content_type.split('/')[0]
            print file_type
            if len(content.name.split('.')) == 1:
                raise forms.ValidationError("File type is not supported.")
            if content.name.split('.')[-1] in self.FILE_EXT_WHITELIST:
                return content
            else:
                raise forms.ValidationError("Only '.txt' and '.pdf' files are allowed.")
Run Code Online (Sandbox Code Playgroud)

这是视图,

def section_update(request, object_id):
    section = models.Section.objects.get(pk=object_id)
    if 'content' in request.FILES:
            if request.FILES['content'].name.split('.')[-1] == "pdf":
                content_file = ContentFile(request.FILES['content'].read())
                content_type = "pdf"
                section.content.save("test"+'.'+content_type , content_file)
                section.save()
Run Code Online (Sandbox Code Playgroud)

在我看来,我只是保存文件 …

python validation file-upload file-type django-forms

5
推荐指数
1
解决办法
1万
查看次数

python-magic module'对象没有属性'open'

我正在尝试使用 python-magic 包,它是 libmagic 的包装类。

我使用“pip install python-magic”安装,但是当我测试它时:

import magic
ms = magic.open(magic.MAGIC_NONE)
ms.load()
Run Code Online (Sandbox Code Playgroud)

它表明 module' 对象没有属性 'open'。我在谷歌上搜索,有人说原因之一是我没有 __init__.py 文件。所以我检查了我的个人站点包目录。我找到了 magic.py、magic.pyc 和一个文件夹 python_magic-0.4.3-py2.7.egg-info,其中只包含一些文本文件。

如何获取 __init__.py 文件?我检查了安装的其他软件包,其中一些确实有这样的文件。

谢谢。

python

4
推荐指数
1
解决办法
1万
查看次数