相关疑难解决方法(0)

将请求的响应保存到文件

我正在使用请求将pdf上传到API.它存储为下面的"响应".我想把它写成一个excel.

import requests

files = {'f': ('1.pdf', open('1.pdf', 'rb'))}
response = requests.post("https://pdftables.com/api?&format=xlsx-single",files=files)
response.raise_for_status() # ensure we notice bad responses
file = open("out.xls", "w")
file.write(response)
file.close()
Run Code Online (Sandbox Code Playgroud)

我收到错误:

file.write(response)
TypeError: expected a character buffer object
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-requests

20
推荐指数
3
解决办法
6万
查看次数

使用python在linux上用DOS行结尾编写文本文件

我想使用在Linux上运行的python编写带有DOS/Windows行结尾'\ r \n'的文本文件.在我看来,必须有比手动放一个"\ r \n"在每行的末尾或者使用终止转换工具行更好的办法.理想情况下,我希望能够执行一些操作,例如将os.linesep分配给我在编写文件时要使用的分隔符.或者在我打开文件时指定行分隔符.

python windows newline

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

如何使用Python识别二进制文件和文本文件?

我需要确定哪个文件二进制文件,哪个文件是目录中的文本.

我试过使用mimetypes,但在我的情况下它不是一个好主意,因为它无法识别所有文件的mimes,我在这里有陌生人...我只需要知道,二进制或文本.简单吗?但我找不到解决方案......

谢谢

python binary text file-type

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

如何在目录中找到二进制文件?

我需要在目录中找到二进制文件.我想用文件做这个,然后我会用grep检查结果.但我的问题是我不知道什么是二进制文件.什么会给二进制文件的文件命令或我应该用grep检查什么?

谢谢.

linux directory binary grep file

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

什么是用于验证Python文件的好音频库?

我已经在检查内容类型,大小和扩展名(Django(音频)文件验证),但是我需要一个库来读取文件并确认它实际上是我希望它(主要是mp3和mp4) .

我一直在这里:http://wiki.python.org/moin/Audio/但没有运气.已经有一段时间了,我在树林里有点失落.依靠这么大的时间来完成这件事...

提前致谢.

编辑:我已经(在Django中)使用UploadedFile.content_type():

"随文件一起上传的内容类型标题(例如text/plain或application/pdf).与用户提供的任何数据一样,您不应该相信上传的文件实际上是这种类型.您仍然需要验证该文件包含内容类型标头声称的内容 - "信任但验证".

所以,我已经在阅读标题了.但是如何验证文件的实际内容?

python audio validation mp3

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

如何从文件中读取文件内容?

使用Python3,希望os.walk文件目录,将它们读入二进制对象(字符串?)并对它们进行进一步处理.不过第一步:如何读取文件的结果os.walk

# NOTE: Execute with python3.2.2

import os
import sys

path = "/home/user/my-files"

count = 0
successcount = 0
errorcount = 0
i = 0

#for directory in dirs
for (root, dirs, files) in os.walk(path):
 # print (path)
 print (dirs)
 #print (files)

 for file in files:

   base, ext = os.path.splitext(file)
   fullpath = os.path.join(root, file)

   # Read the file into binary? --------
   input = open(fullpath, "r")
   content = input.read()
   length = len(content)
   count += 1
   print (" …
Run Code Online (Sandbox Code Playgroud)

python os.walk python-3.x

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

是什么决定了文件应该是 application/octet-stream 还是 text/plain?

我有一段代码可以为我处理文件上传,理想情况下我只想接受文本文件(csv、制表符分隔文件等),所以我添加了这段代码:

mimetype = magic.from_buffer(request.FILES['docfile'].read(512), mime=True)
if form.is_valid() and mimetype == 'text/plain':
     ....
Run Code Online (Sandbox Code Playgroud)

就在最近,我的一位用户尝试上传一个文本文件,但系统拒绝了它,该文件的 mime 是:

file --mime-type -b input_file.txt 
application/octet-stream
Run Code Online (Sandbox Code Playgroud)

当然,之前上传的所有文件都是文本/纯文本。这两者有什么区别?是否有更“全局”的方法来检查文件是否是文本文件?

python mime

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

识别文件的格式

在linux中,我们有一个名为"file"的实用程序,它可以帮助我们确定文件的标识.有没有可以做同样工作的python模块?

我不喜欢使用subprocess.Popen(['file', 'blah.blah']),因为它取决于平台.例如,Windows没有"文件"(虽然可以下载).

python file identification imghdr

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

Python,file(1) - 为什么数字[7,8,9,10,12,13,27]和范围(0x20,0x100)用于确定文本vs二进制文件

关于在python中确定文件是二进制文件还是文本解决方案,应答者使用:

textchars = bytearray([7,8,9,10,12,13,27]) + bytearray(range(0x20, 0x100))
Run Code Online (Sandbox Code Playgroud)

然后用于.translate(None, textchars)删除(或替换为空格)以二进制形式读入的文件中的所有此类字符.

回答者还争辩说,这种数字的选择是"基于文件(1)行为"(对于什么是文本而不是什么).这些数字的重要性是从二进制文件中确定文本文件?

python unicode binary hex ascii

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