• 关于

    python rb

    的搜索结果

问题

python rb 需要什么库

python rb 需要什么库...
云计算小粉 2019-12-01 20:04:13 431 浏览量 回答数 1

问题

求帮助!在windows下安装reviewboard执行rb-site inst?报错

    我的系统是win7 64位的,想安装reviewboard代码审查工具,根据网上的安装文档安装了apache2.2 python2.7 mysql等工具,当执行到rb-site instal...
爱吃鱼的程序员 2020-06-20 17:16:05 0 浏览量 回答数 1

问题

Python中的2D插值

MATLAB函数的Python中的等价函数是什么interp2?VqR = interp2(rR, fx(:), fy(:));这是我试图移植到python的MATLAB代码function res = imgMeshWarp( img, ...
一码平川MACHEL 2019-12-01 19:31:39 1021 浏览量 回答数 1

问题

python导入excel文件,报错?报错

尝试导入excel文件操作,编写了以下代码, import xlrd workbook = xlrd.open_workbook('D:\ben.qin\Desktop\1.xls'...
爱吃鱼的程序员 2020-06-10 14:07:30 0 浏览量 回答数 1

回答

一、Python文件读写的几种模式:r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢?1、文件使用方式标识'r':默认值,表示从文件读取数据。'w':表示要向文件写入数据,并截断以前的内容'a':表示要向文件写入数据,添加到当前内容尾部'r+':表示对文件进行可读写操作(删除以前的所有数据)'r+a':表示对文件可进行读写操作(添加到当前文件尾部)'b':表示要读写二进制数据2、读文件 进行读文件操作时,直到读到文档结束符(EOF)才算读取到文件最后,Python会认为字节x1A(26)转换成的字符为文档结束符(EOF), 故使用'r'进行读取二进制文件时,可能会出现文档读取不全的现象。 示例: 二进制文件中存在如下从低位向高位排列的数据:7F 32 1A 2F 3D 2C 12 2E 76 如果使用'r'进行读取,则读到第三个字节,即认为文件结束。 如果使用'rb'按照二进制位进行读取的,不会将读取的字节转换成字符,从而避免了上面的错误。 解决方案: 二进制文件就用二进制方法读取'rb' 总结: 使用'r'的时候,如果碰到'0x1A',就视为文件结束,就是EOF。使用'rb'则不存在这个问题, 即:如果你用二进制写入再用文件读出的话,如果其中存在'0x1A',就只会读出文件的一部分,使用'rb'会一直读取文件末尾。3、写文件 对于字符串x='abcndef',我们可用len(x)得到它的长度为7,n我们称之为换行符,实际上是0x0A。当我们用'w'即文本方式写的时候,在windows平台上会自动将'0x0A'变成两个字符'0x0D','0x0A',即文件长度实际上变成8。当用'r'文本方式读取时,又自动的转换成原来的换行符。 如果换成'wb'二进制方式来写的话,则会保持一个字符不变,读取的时候也是原样读取。 所以如果用文本方式写入,用二进制方式读取的话,就要考虑这多出的一个字节了。'0x0D'也称回车符。 Linux下不会变,因为linux只使用'0X0A'来表示换行。
xuning715 2019-12-02 01:10:33 0 浏览量 回答数 0

回答

f = open(文件路径,'rb') while True: lines = f.readline() print(lines) if not lines: break pass java或者python都不需要什么特别的库,只要告知程序文件路径,就可以开始进行文件操作
不语奈何 2019-12-02 03:04:46 0 浏览量 回答数 0

问题

为什么后台用Java发邮件,在本地可以,部署到vps上就不行了?

本地ubuntu , vps是centOS到底是哪里出问题了呢?试了456端口和25端口都不行……服务器是tomcat另,服务器上用Python写脚本是可以发邮件的= =! package util; import javax.mail....
小旋风柴进 2019-12-01 20:03:53 1832 浏览量 回答数 1

问题

如何使用python加密机器上的所有文件?

请告诉我如何加密"C:/"目录下的所有文件。我尝试这个代码: import pyAesCrypt from os import stat, remove bufferSize = 64 * 1024 passw...
kun坤 2019-12-25 09:42:40 3 浏览量 回答数 1

问题

带有fit_transform错误的列转换器

我得到错误,而使用make_column_transformer与LabelEncoder def train_or_load_model(data,learn=True): to_categorical =...
kun坤 2019-12-25 09:57:45 5 浏览量 回答数 1

回答

numpy.loadtxt(open("test.csv", "rb"), delimiter=",", skiprows=1) 查看loadtxt文档。 您还可以使用python的csv模块: import csv import numpy reader = csv.reader(open("test.csv", "rb"), delimiter=",") x = list(reader) result = numpy.array(x).astype("float") 您将不得不将其转换为您喜欢的数字类型。我想您可以将全部内容写成一行: 结果= numpy.array(list(csv.reader(open(“ test.csv”,“ rb”),delimiter =“,”))))。astype(“ float”) 新增提示: 您还可以使用pandas.io.parsers.read_csv并获取关联的numpy数组,该数组可以更快。
保持可爱mmm 2020-02-08 22:05:39 0 浏览量 回答数 0

问题

创建包含Excel文件中所有更改的报告的Python脚本时遇到的问题

我在编写Python脚本时遇到了一个主要的问题,该脚本创建一个Excel文件中所有更改的报告。 脚本应该: a)在“自定义路径”上检查文件 -如果有变化,脚本应该创建新的。xlsx文件相同的文件被改变࿰...
kun坤 2019-12-30 10:40:48 474 浏览量 回答数 1

问题

django 安装报错,求助求助?报错

SyntaxError: ('invalid syntax', ('/usr/local/lib64/python2.6/site-packages/Django-1.7-py2.6.egg/django/test/...
爱吃鱼的程序员 2020-06-14 21:54:12 0 浏览量 回答数 1

问题

在python 中如何向postgresql 中插入图片???报错

请教各位大神如何 在python 中如何向postgresql 中插入图片?? python代码如下: >>> import psycopg2 >>&...
爱吃鱼的程序员 2020-06-22 21:58:58 0 浏览量 回答数 1

回答

1、Requests简介 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库。用 Python 编写,真正的为人类着想。 python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。 总之,大家以后对urllib2库敬而远之就行了。来拥抱Requests吧。 Requests的官方文档:cn.python-requests.org/zh_CN/latest/ 通过下面方法安装requests [python] view plain copy pip install requests 2、Requests如何发送HTTP请求 非常简单,先导入requests, [python] view plain copy import requests 然后,按照下面的方法发送http的各种请求: [python] view plain copy r = requests.get('githubcom/timeline.json') r = requests.post("httpbin.org/post") r = requests.put("httpbin.org/put") r = requests.delete("httpbin.org/delete") r = requests.head("httpbin.org/get") r = requests.options("httpbin.org/get") 3、为URL传递参数 如果http请求需要带URL参数(注意是URL参数不是body参数),那么需要将参数附带到payload字典里头,按照下面的方法发送请求: [python] view plain copy import requests payload = {'key1': 'value1', 'key2': 'value2'} r = requests.get("httpbin.org/get",params=payload) print r.url 通过print(r.url)能看到URL已被正确编码: [python] view plain copy httpbin.org/get?key2=value2&key1=value1 注意字典里值为 None 的键都不会被添加到 URL 的查询字符串里。 4、unicode响应内容 [python] view plain copy import requests r = requests.get('githubcom/timeline.json') r.text 响应结果是: {"message":"Hello there, wayfaring stranger. If you're reading this then you probably didn't see our blog post a couple of years back announcing that this API would Go away: Git.io/17AROg Fear not, you should be able to get what you need from the shiny new Events API instead.","documentation_url":"developer.githubcom/v3/activity/events/#list-public-events"} Requests会自动解码来自服务器的内容。大多数unicode字符集都能被无缝地解码。请求发出后,Requests会基于HTTP头部对响应的编码作出有根据的推测。当你访问r.text之时,Requests会使用其推测的文本编码。你可以找出Requests使用了什么编码,并且能够使用r.encoding 属性来改变它 >>> r.encoding 'utf-8' 5、二进制响应内容 如果请求返回的是二进制的图片,你可以使用r.content访问请求响应体。 [python] view plain copy import requests from PIL import Image from StringIO import StringIO r = requests.get('cn.python-requests.org/zh_CN/latest/_static/requests-sidebar.png') i = Image.open(StringIO(r.content)) i.show() 6、JSON响应内容 Requests中也有一个内置的JSON解码器,助你处理JSON数据: [python] view plain copy import requests r = requests.get('githubcom/timeline.json') print r.json() r.json将返回的json格式字符串解码成python字典。r.text返回的utf-8的文本。 7、定制请求头 如果你想为请求添加HTTP头部,只要简单地传递一个 dict 给headers 参数就可以了。 [python] view plain copy import requests import json payload = {'some': 'data'} headers = {'content-type': 'application/json'} r = requests.get('githubcom/timeline.json', data=json.dumps(payload), headers=headers) print r.json() 注意,这里的payload是放到body里面的,所以params参数要使用json数据。 8、POST请求 就像上面‘定制请求头’中的例子,将payload序列化为json格式数据,传递给data参数。 9、POST提交文件 先制作一个text文件,名为‘report.txt’,内容是‘this is a file’。Requests使得上传多部分编码文件变得很简单: [python] view plain copy import requests url = 'httpbin.org/post' files = {'file': open('report.txt', 'rb')} r = requests.post(url, files=files) print r.text 返回结果是: [python] view plain copy C:\Python27\python.exe C:/Users/Administrator/PycharmProjects/flaskexample/postfile.py { "args": {}, "data": "", "files": { "file": "this is a file" }, "form": {}, "headers": { "Accept": "/", "Accept-Encoding": "gzip, deflate", "Content-Length": "160", "Content-Type": "multipart/form-data; boundary=a3b41a6300214ffdb55ddbc23dfc0d91", "Host": "httpbin.org", "User-Agent": "python-requests/2.7.0 CPython/2.7.9 Windows/2012Server" }, "json": null, "origin": "202.108.92.226", "url": "httpbin.org/post" } Process finished with exit code 0 10、POST提交表单 传递一个字典给 data 参数就可以了。数据字典在发出请求时会自动编码为表单形式: [python] view plain copy >>> payload = {'key1': 'value1', 'key2': 'value2'} >>> r = requests.post("httpbin.org/post", data=payload) 查看响应内容: >>> print r.text { "args": {}, "data": "", "files": {}, "form": { "key1": "value1", "key2": "value2" }, "headers": { "Accept": "/", "Accept-Encoding": "gzip, deflate", "Content-Length": "23", "Content-Type": "application/x-www-form-urlencoded", "Host": "httpbin.org", "User-Agent": "python-requests/2.6.0 CPython/2.7.10 Windows/7" }, "json": null, "origin": "124.251.251.2", "url": "httpbin.org/post" } 11、响应状态码 使用r.status_code返回响应的状态码。 [python] view plain copy import requests r = requests.get('httpbin.org/get') print r.status_code 为方便引用,Requests还附带了一个内置的状态码查询对象: [python] view plain copy print r.status_code == requests.codes.ok 12、失败请求抛出异常 如果发送了一个失败请求(非200响应),我们可以通过 Response.raise_for_status()来抛出异常: [python] view plain copy import requests bad_r = requests.get('httpbin.org/status/404') print bad_r.status_code bad_r.raise_for_status() 返回结果是: [python] view plain copy C:\Python27\python.exe C:/Users/Administrator/PycharmProjects/flaskexample/postfile.py 404 Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/flaskexample/postfile.py", line 5, in bad_r.raise_for_status() File "C:\Python27\lib\site-packages\requests\models.py", line 851, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: NOT FOUND Process finished with exit code 1 如果返回码是200,则不会抛出异常,即: [python] view plain copy import requests bad_r = requests.get('httpbin.org/get') print bad_r.status_code bad_r.raise_for_status() 的返回结果是: [python] view plain copy C:\Python27\python.exe C:/Users/Administrator/PycharmProjects/flaskexample/postfile.py 200 Process finished with exit code 0 13、响应头 我们可以查看以一个Python字典形式展示的服务器响应头: 读取全部头部: [python] view plain copy r.headers 返回: { 'content-encoding': 'gzip', 'transfer-encoding': 'chunked', 'connection': 'close', 'server': 'nginx/1.0.4', 'x-runtime': '148ms', 'etag': '"e1ca502697e5c9317743dc078f67693f"', 'content-type': 'application/json' } 读取某一个头部字段: [python] view plain copy r.headers['Content-Type'] r.headers.get('content-type') 14、Cookies 得到响应中包含的一些Cookie: [python] view plain copy >>> url = 'examplecom/some/cookie/setting/url' >>> r = requests.get(url) >>> r.cookies['example_cookie_name'] 'example_cookie_value' 要想发送你的cookies到服务器,可以使用 cookies 参数: [python] view plain copy >>> url = 'httpbin.org/cookies' >>> cookies = dict(cookies_are='working') >>> r = requests.get(url, cookies=cookies) >>> r.text 返回结果: u'{\n "cookies": {\n "cookies_are": "working"\n }\n}\n' 15、重定向与请求历史 默认情况下,除了 HEAD, Requests会自动处理所有重定向。 可以使用响应对象的 history 方法来追踪重定向。 [python] view plain copy >>> r = requests.get('githubcom') >>> r.url 'githubcom/' >>> r.status_code 200 >>> r.history [] 如果你使用的是GET, OPTIONS, POST, PUT, PATCH 或者 DELETE,,那么你可以通过 allow_redirects 参数禁用重定向处理: [python] view plain copy >>> r = requests.get('githubcom', allow_redirects=False) >>> r.status_code 301 >>> r.history [] 如果你使用的是HEAD,你也可以启用重定向: [python] view plain copy >>> r = requests.head('githubcom', allow_redirects=True) >>> r.url 'githubcom/' >>> r.history [] 答案来源网络,供参考,希望对您有帮助
问问小秘 2019-12-02 03:03:05 0 浏览量 回答数 0

问题

import jieba报错?报错

@sunjunyi 你好,想跟你请教个问题: 我刚开始接触jieba,引入import jieba,报错: File "/usr/lib/python2.4...
爱吃鱼的程序员 2020-06-22 18:00:13 0 浏览量 回答数 1

回答

1、Requests简介 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库。用 Python 编写,真正的为人类着想。 python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。 总之,大家以后对urllib2库敬而远之就行了。来拥抱Requests吧。 Requests的官方文档:cn.python-requests.org/zh_CN/latest/ 通过下面方法安装requests [python] view plain copy pip install requests 2、Requests如何发送HTTP请求 非常简单,先导入requests, [python] view plain copy import requests 然后,按照下面的方法发送http的各种请求: [python] view plain copy r = requests.get('githubcom/timeline.json') r = requests.post("httpbin.org/post") r = requests.put("httpbin.org/put") r = requests.delete("httpbin.org/delete") r = requests.head("httpbin.org/get") r = requests.options("httpbin.org/get") 3、为URL传递参数 如果http请求需要带URL参数(注意是URL参数不是body参数),那么需要将参数附带到payload字典里头,按照下面的方法发送请求: [python] view plain copy import requests payload = {'key1': 'value1', 'key2': 'value2'} r = requests.get("httpbin.org/get",params=payload) print r.url 通过print(r.url)能看到URL已被正确编码: [python] view plain copy httpbin.org/get?key2=value2&key1=value1 注意字典里值为 None 的键都不会被添加到 URL 的查询字符串里。 4、unicode响应内容 [python] view plain copy import requests r = requests.get('githubcom/timeline.json') r.text 响应结果是: {"message":"Hello there, wayfaring stranger. If you're reading this then you probably didn't see our blog post a couple of years back announcing that this API would Go away: Git.io/17AROg Fear not, you should be able to get what you need from the shiny new Events API instead.","documentation_url":"developer.githubcom/v3/activity/events/#list-public-events"} Requests会自动解码来自服务器的内容。大多数unicode字符集都能被无缝地解码。请求发出后,Requests会基于HTTP头部对响应的编码作出有根据的推测。当你访问r.text之时,Requests会使用其推测的文本编码。你可以找出Requests使用了什么编码,并且能够使用r.encoding 属性来改变它 >>> r.encoding 'utf-8' 5、二进制响应内容 如果请求返回的是二进制的图片,你可以使用r.content访问请求响应体。 [python] view plain copy import requests from PIL import Image from StringIO import StringIO r = requests.get('cn.python-requests.org/zh_CN/latest/_static/requests-sidebar.png') i = Image.open(StringIO(r.content)) i.show() 6、JSON响应内容 Requests中也有一个内置的JSON解码器,助你处理JSON数据: [python] view plain copy import requests r = requests.get('githubcom/timeline.json') print r.json() r.json将返回的json格式字符串解码成python字典。r.text返回的utf-8的文本。 7、定制请求头 如果你想为请求添加HTTP头部,只要简单地传递一个 dict 给headers 参数就可以了。 [python] view plain copy import requests import json payload = {'some': 'data'} headers = {'content-type': 'application/json'} r = requests.get('githubcom/timeline.json', data=json.dumps(payload), headers=headers) print r.json() 注意,这里的payload是放到body里面的,所以params参数要使用json数据。 8、POST请求 就像上面‘定制请求头’中的例子,将payload序列化为json格式数据,传递给data参数。 9、POST提交文件 先制作一个text文件,名为‘report.txt’,内容是‘this is a file’。Requests使得上传多部分编码文件变得很简单: [python] view plain copy import requests url = 'httpbin.org/post' files = {'file': open('report.txt', 'rb')} r = requests.post(url, files=files) print r.text 返回结果是: [python] view plain copy C:\Python27\python.exe C:/Users/Administrator/PycharmProjects/flaskexample/postfile.py { "args": {}, "data": "", "files": { <strong>"file": "this is a file"</strong> }, "form": {}, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Content-Length": "160", "Content-Type": "multipart/form-data; boundary=a3b41a6300214ffdb55ddbc23dfc0d91", "Host": "httpbin.org", "User-Agent": "python-requests/2.7.0 CPython/2.7.9 Windows/2012Server" }, "json": null, "origin": "202.108.92.226", "url": "httpbin.org/post" } Process finished with exit code 0 10、POST提交表单 传递一个字典给 data 参数就可以了。数据字典在发出请求时会自动编码为表单形式: [python] view plain copy >>> payload = {'key1': 'value1', 'key2': 'value2'} >>> r = requests.post("httpbin.org/post", data=payload) 查看响应内容: >>> print r.text { "args": {}, "data": "", "files": {}, "form": { "key1": "value1", "key2": "value2" }, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Content-Length": "23", "Content-Type": "application/x-www-form-urlencoded", "Host": "httpbin.org", "User-Agent": "python-requests/2.6.0 CPython/2.7.10 Windows/7" }, "json": null, "origin": "124.251.251.2", "url": "httpbin.org/post" } 11、响应状态码 使用r.status_code返回响应的状态码。 [python] view plain copy import requests r = requests.get('httpbin.org/get') print r.status_code 为方便引用,Requests还附带了一个内置的状态码查询对象: [python] view plain copy print r.status_code == requests.codes.ok 12、失败请求抛出异常 如果发送了一个失败请求(非200响应),我们可以通过 Response.raise_for_status()来抛出异常: [python] view plain copy import requests bad_r = requests.get('httpbin.org/status/404') print bad_r.status_code bad_r.raise_for_status() 返回结果是: [python] view plain copy C:\Python27\python.exe C:/Users/Administrator/PycharmProjects/flaskexample/postfile.py 404 Traceback (most recent call last): File "C:/Users/Administrator/PycharmProjects/flaskexample/postfile.py", line 5, in <module> bad_r.raise_for_status() File "C:\Python27\lib\site-packages\requests\models.py", line 851, in raise_for_status raise HTTPError(http_error_msg, response=self) <strong>requests.exceptions.HTTPError: 404 Client Error: NOT FOUND</strong> Process finished with exit code 1 如果返回码是200,则不会抛出异常,即: [python] view plain copy import requests bad_r = requests.get('httpbin.org/get') print bad_r.status_code bad_r.raise_for_status() 的返回结果是: [python] view plain copy C:\Python27\python.exe C:/Users/Administrator/PycharmProjects/flaskexample/postfile.py 200 Process finished with exit code 0 13、响应头 我们可以查看以一个Python字典形式展示的服务器响应头: 读取全部头部: [python] view plain copy r.headers 返回: { 'content-encoding': 'gzip', 'transfer-encoding': 'chunked', 'connection': 'close', 'server': 'nginx/1.0.4', 'x-runtime': '148ms', 'etag': '"e1ca502697e5c9317743dc078f67693f"', 'content-type': 'application/json' } 读取某一个头部字段: [python] view plain copy r.headers['Content-Type'] r.headers.get('content-type') 14、Cookies 得到响应中包含的一些Cookie: [python] view plain copy >>> url = 'examplecom/some/cookie/setting/url' >>> r = requests.get(url) >>> r.cookies['example_cookie_name'] 'example_cookie_value' 要想发送你的cookies到服务器,可以使用 cookies 参数: [python] view plain copy >>> url = 'httpbin.org/cookies' >>> cookies = dict(cookies_are='working') >>> r = requests.get(url, cookies=cookies) >>> r.text 返回结果: u'{\n "cookies": {\n "cookies_are": "working"\n }\n}\n' 15、重定向与请求历史 默认情况下,除了 HEAD, Requests会自动处理所有重定向。 可以使用响应对象的 history 方法来追踪重定向。 [python] view plain copy >>> r = requests.get('githubcom') >>> r.url 'githubcom/' >>> r.status_code 200 >>> r.history [<Response [301]>] 如果你使用的是GET, OPTIONS, POST, PUT, PATCH 或者 DELETE,,那么你可以通过 allow_redirects 参数禁用重定向处理: [python] view plain copy >>> r = requests.get('githubcom', allow_redirects=False) >>> r.status_code 301 >>> r.history [] 如果你使用的是HEAD,你也可以启用重定向: [python] view plain copy >>> r = requests.head('githubcom', allow_redirects=True) >>> r.url 'githubcom/' >>> r.history [<Response [301]>] 答案来源网络,供参考,希望对您有帮助
问问小秘 2019-12-02 03:03:05 0 浏览量 回答数 0

问题

如何在请求库发布请求中停止POST请求中的python urlencoding标头?

0 我想发送一个尚未对标题进行urlencode的POST请求。 我要发送的标题之一是: "Accept-Encoding": "gzip,deflate" 但是,这将转换为...
养狐狸的猫 2019-12-01 19:58:12 11 浏览量 回答数 1

回答

python 读写、创建 文件的方法: python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目录:os.removedirs(r“c:python”) 检验给出的路径是否是一个文件:os.path.isfile() 检验给出的路径是否是一个目录:os.path.isdir() 判断是否是绝对路径:os.path.isabs() 检验给出的路径是否真地存:os.path.exists() 返回一个路径的目录名和文件名:os.path.split() eg os.path.split(‘/home/swaroop/byte/code/poem.txt’) 结果:(‘/home/swaroop/byte/code’, ‘poem.txt’) 分离扩展名:os.path.splitext() 获取路径名:os.path.dirname() 获取文件名:os.path.basename() 运行shell命令: os.system() 读取和设置环境变量:os.getenv() 与os.putenv() 给出当前平台使用的行终止符:os.linesep Windows使用’rn’,Linux使用’n’而Mac使用’r’ 指示你正在使用的平台:os.name 对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’ 重命名:os.rename(old, new) 创建多级目录:os.makedirs(r“c:pythontest”) 创建单个目录:os.mkdir(“test”) 获取文件属性:os.stat(file) 修改文件权限与时间戳:os.chmod(file) 终止当前进程:os.exit() 获取文件大小:os.path.getsize(filename) 文件操作: os.mknod(“test.txt”) 创建空文件 fp = open(“test.txt”,w) 直接打开一个文件,如果文件不存在则创建文件 关于open 模式: w 以写方式打开, a 以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+ 以读写模式打开 w+ 以读写模式打开 (参见 w ) a+ 以读写模式打开 (参见 a ) rb 以二进制读模式打开 wb 以二进制写模式打开 (参见 w ) ab 以二进制追加模式打开 (参见 a ) rb+ 以二进制读写模式打开 (参见 r+ ) wb+ 以二进制读写模式打开 (参见 w+ ) ab+ 以二进制读写模式打开 (参见 a+ ) fp.read([size]) #size为读取的长度,以byte为单位 fp.readline([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分 fp.readlines([size]) #把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。 fp.write(str) #把str写到文件中,write()并不会在str后加上一个换行符 fp.writelines(seq) #把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。 fp.close() #关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。 如果一个文件在关闭后还对其进行操作会产生ValueError fp.flush() #把缓冲区的内容写入硬盘 fp.fileno() #返回一个长整型的”文件标签“ fp.isatty() #文件是否是一个终端设备文件(unix系统中的) fp.tell() #返回文件操作标记的当前位置,以文件的开头为原点 fp.next() #返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。 fp.seek(offset[,whence]) #将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。 fp.truncate([size]) #把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。 目录操作: os.mkdir(“file”) 创建目录 复制文件: shutil.copyfile(“oldfile”,”newfile”) oldfile和newfile都只能是文件 shutil.copy(“oldfile”,”newfile”) oldfile只能是文件夹,newfile可以是文件,也可以是目标目录 复制文件夹: shutil.copytree(“olddir”,”newdir”) olddir和newdir都只能是目录,且newdir必须不存在 重命名文件(目录) os.rename(“oldname”,”newname”) 文件或目录都是使用这条命令 移动文件(目录) shutil.move(“oldpos”,”newpos”) 删除文件 os.remove(“file”) 删除目录 os.rmdir(“dir”)只能删除空目录 shutil.rmtree(“dir”) 空目录、有内容的目录都可以删 转换目录 os.chdir(“path”) 换路径 Python读写文件 1.open 使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。 file_object = open(‘thefile.txt’) try: all_the_text = file_object.read( ) finally: file_object.close( ) 注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。 2.读文件 读文本文件 input = open(‘data’, ‘r’) 第二个参数默认为r input = open(‘data’) 读二进制文件 input = open(‘data’, ‘rb’) 读取所有内容 file_object = open(‘thefile.txt’) try: all_the_text = file_object.read( ) finally: file_object.close( ) 读固定字节 file_object = open(‘abinfile’, ‘rb’) try: while True: chunk = file_object.read(100) if not chunk: break do_something_with(chunk) finally: file_object.close( ) 读每行 list_of_all_the_lines = file_object.readlines( ) 如果文件是文本文件,还可以直接遍历文件对象获取每行: for line in file_object: process line 3.写文件 写文本文件 output = open(‘data’, ‘w’) 写二进制文件 output = open(‘data’, ‘wb’) 追加写文件 output = open(‘data’, ‘w+’) 写数据 file_object = open(‘thefile.txt’, ‘w’) file_object.write(all_the_text) file_object.close( ) 写入多行 file_object.writelines(list_of_text_strings) 注意,调用writelines写入多行在性能上会比使用write一次性写入要高。 在处理日志文件的时候,常常会遇到这样的情况:日志文件巨大,不可能一次性把整个文件读入到内存中进行处理,例如需要在一台物理内存为 2GB 的机器上处理一个 2GB 的日志文件,我们可能希望每次只处理其中 200MB 的内容。 在 Python 中,内置的 File 对象直接提供了一个 readlines(sizehint) 函数来完成这样的事情。以下面的代码为例: file = open(‘test.log’, ‘r’)sizehint = 209715200 # 200Mposition = 0lines = file.readlines(sizehint)while not file.tell() - position < 0: position = file.tell() lines = file.readlines(sizehint) 每次调用 readlines(sizehint) 函数,会返回大约 200MB 的数据,而且所返回的必然都是完整的行数据,大多数情况下,返回的数据的字节数会稍微比 sizehint 指定的值大一点(除最后一次调用 readlines(sizehint) 函数的时候)。通常情况下,Python 会自动将用户指定的 sizehint 的值调整成内部缓存大小的整数倍。 file在python是一个特殊的类型,它用于在python程序中对外部的文件进行操作。在python中一切都是对象,file也不例外,file有file的方法和属性。下面先来看如何创建一个file对象: file(name[, mode[, buffering]]) file()函数用于创建一个file对象,它有一个别名叫open(),可能更形象一些,它们是内置函数。来看看它的参数。它参数都是以字符串的形式传递的。name是文件的名字。 mode是打开的模式,可选的值为r w a U,分别代表读(默认) 写 添加支持各种换行符的模式。用w或a模式打开文件的话,如果文件不存在,那么就自动创建。此外,用w模式打开一个已经存在的文件时,原有文件的内容会被清空,因为一开始文件的操作的标记是在文件的开头的,这时候进行写操作,无疑会把原有的内容给抹掉。由于历史的原因,换行符在不同的系统中有不同模式,比如在 unix中是一个n,而在windows中是‘rn’,用U模式打开文件,就是支持所有的换行模式,也就说‘r’ ‘n’ ‘rn’都可表示换行,会有一个tuple用来存贮这个文件中用到过的换行符。不过,虽说换行有多种模式,读到python中统一用n代替。在模式字符的后面,还可以加上+ b t这两种标识,分别表示可以对文件同时进行读写操作和用二进制模式、文本模式(默认)打开文件。 buffering如果为0表示不进行缓冲;如果为1表示进行“行缓冲“;如果是一个大于1的数表示缓冲区的大小,应该是以字节为单位的。 file对象有自己的属性和方法。先来看看file的属性。 closed #标记文件是否已经关闭,由close()改写 encoding #文件编码 mode #打开模式 name #文件名 newlines #文件中用到的换行模式,是一个tuple softspace #boolean型,一般为0,据说用于print file的读写方法: F.read([size]) #size为读取的长度,以byte为单位 F.readline([size]) 读一行,如果定义了size,有可能返回的只是一行的一部分 F.readlines([size]) 把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。 F.write(str) 把str写到文件中,write()并不会在str后加上一个换行符 F.writelines(seq) 把seq的内容全部写到文件中。这个函数也只是忠实地写入,不会在每行后面加上任何东西。 file的其他方法: F.close() 关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。如果一个文件在关闭后还对其进行操作会产生ValueError F.flush() 把缓冲区的内容写入硬盘 F.fileno() 返回一个长整型的”文件标签“ F.isatty() 文件是否是一个终端设备文件(unix系统中的) F.tell() 返回文件操作标记的当前位置,以文件的开头为原点 F.next() 返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。 F.seek(offset[,whence]) 将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。 F.truncate([size]) 把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。
元芳啊 2019-12-02 01:04:30 0 浏览量 回答数 0

回答

找到解决方案了,先读取图片,再直接嵌入到HTML中 data_uri = open('python.jpg', 'rb').read().encode('base64').replace('\n', '') content = ''' <html> <head><title>MyServerDemo/0.1</title></head> <body> <h1>Hello, World!</h1> <img src="data:image/jpg;base64,{0}" /> </body> </html> '''.format(data_uri) 之前的做法需要两次GET,这种做法只用一次就行了 难道是这个原因?
杨冬芳 2019-12-02 02:49:15 0 浏览量 回答数 0

回答

对于序列化最普遍的做法就是使用 pickle 模块。为了将一个对象保存到一个文件中,可以这样做: import pickle data = ... # Some Python object f = open('somefile', 'wb') pickle.dump(data, f) 为了将一个对象转储为一个字符串,可以使用 pickle.dumps() : s = pickle.dumps(data) 为了从字节流中恢复一个对象,使用 pickle.load() 或 pickle.loads() 函数。比如: # Restore from a file f = open('somefile', 'rb') data = pickle.load(f) # Restore from a string data = pickle.loads(s)
哦哦喔 2020-04-17 12:33:22 0 浏览量 回答数 0

问题

python的中文编码问题:报错

我很想就这个问题做个详细的解释,但也许水平有限,解释的不是很清楚,甚至自己理解的都不正确,那么我将长期修改 我使用pyscripter来作为编辑器,首先在pyscrit...
kun坤 2020-06-07 14:42:07 0 浏览量 回答数 1

问题

python签名rsa.PrivateKey.load_pkcs1(private_key)失败

沙箱CSR文件情况下,参考SDK的实现方法 private_key = open('app_privite.pem', 'rb').read(), rsa.PrivateKey.load...
喵了个咪丶 2019-12-01 19:59:48 27 浏览量 回答数 1

回答

python保存文件的几种方法1>保存为二进制文件,pkl格式 import pickle pickle.dump(data,open('file_path','wb')) #后缀.pkl可加可不加 若文件过大 pickle.dump(data,open('file_path', 'wb'),protocol=4) 读取该文件: data= pickle.load(open('file_path','rb')) 2>保存为二进制文件,npz格式 import numpy as np np.savez('file_path/file_name.npz', data1=X,data2=y) 读取该文件: with np.load('file_path/file_name.npz') as data: X = data['data1'] y= data['data2'] 3>DataFrame文件保存为.csv dataframe_file.to_csv("file_path/file_name.csv", index=False) 读取该文件: import pandas as pd df = pd.read_csv('file_path/file_name.csv')
寒喵 2019-12-02 01:08:28 0 浏览量 回答数 0

问题

使用smtp从Python发送邮件,手机中无内容

我正在使用Python smtp模块发送邮件,它发送成功,并且在Outlook中看起来不错。到我签到手机时,它没有内容,只有附件。实际上内容中有三个表。有人知道如何解决此问题吗...
几许相思几点泪 2019-12-24 21:13:15 0 浏览量 回答数 0

问题

bundle install在Using jquery-rails 3.0.4报错?报错

Using jquery-rails 3.0.4 Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.        ...
爱吃鱼的程序员 2020-06-14 21:55:29 0 浏览量 回答数 1

回答

open 函数可以打开一个文件。超级简单吧?大多数时候,我们看到它这样被使用: f = open('photo.jpg', 'r+') jpgdata = f.read() f.close() 我现在写这篇文章的原因,是大部分时间我看到open被这样使用。有三个错误存在于上面的代码中。你能把它们全指出来吗?如不能,请读下去。在这篇文章的结尾,你会知道上面的代码错在哪里,而且,更重要的是,你能在自己的代码里避免这些错误。现在我们从基础开始: open的返回值是一个文件句柄,从操作系统托付给你的Python程序。一旦你处理完文件,你会想要归还这个文件句柄,只有这样你的程序不会超出一次能打开的文件句柄的数量上限。 显式地调用close关闭了这个文件句柄,但前提是只有在read成功的情况下。如果有任意异常正好在f = open(...)之后产生,f.close()将不会被调用(取决于Python解释器的做法,文件句柄可能还是会被归还,但那是另外的话题了)。为了确保不管异常是否触发,文件都能关闭,我们将其包裹成一个with语句: with open('photo.jpg', 'r+') as f: jpgdata = f.read() open的第一个参数是文件名。第二个(mode 打开模式)决定了这个文件如何被打开。 - 如果你想读取文件,传入r - 如果你想读取并写入文件,传入r+ - 如果你想覆盖写入文件,传入w - 如果你想在文件末尾附加内容,传入a 虽然有若干个其他的有效的mode字符串,但有可能你将永远不会使用它们。mode很重要,不仅因为它改变了行为,而且它可能导致权限错误。举个例子,我们要是在一个写保护的目录里打开一个jpg文件, open(.., 'r+')就失败了。mode可能包含一个扩展字符;让我们还可以以二进制方式打开文件(你将得到字节串)或者文本模式(字符串) 一般来说,如果文件格式是由人写的,那么它更可能是文本模式。jpg图像文件一般不是人写的(而且其实不是人直接可读的),因此你应该以二进制模式来打开它们,方法是在mode字符串后加一个b(你可以看看开头的例子里,正确的方式应该是rb)。 如果你以文本模式打开一些东西(比如,加一个t,或者就用r/r+/w/a),你还必须知道要使用哪种编码。对于计算机来说,所有的文件都是字节,而不是字符。 可惜,在Pyhon 2.x版本里,open不支持显示地指定编码。然而,io.open函数在Python 2.x中和3.x(其中它是open的别名)中都有提供,它能做正确的事。你可以传入encoding这个关键字参数来传入编码。 如果你不传入任意编码,一个系统 - 以及Python -指定的默认选项将被选中。你也许被诱惑去依赖这个默认选项,但这个默认选项经常是错误的,或者默认编码实际上不能表达文件里的所有字符(这将经常发生在Python 2.x和/或Windows)。 所以去挑选一个编码吧。utf-8是一个非常好的编码。当你写入一个文件,你可以选一个你喜欢的编码(或者最终读你文件的程序所喜欢的编码)。 那你怎么找出正在读的文件是用哪种编码写的呢?好吧,不幸的是,并没有一个十分简单的方式来检测编码。在不同的编码中,同样的字节可以表示不同,但同样有效的字符。因此,你必须依赖一个元数据(比如,在HTTP头信息里)来找出编码。越来越多的是,文件格式将编码定义成UTF-8。 有了这些基础知识,我们来写一个程序,读取一个文件,检测它是否是JPG(提示:这些文件头部以字节FF D8开始),把对输入文件的描述写入一个文本文件。 import io with open('photo.jpg', 'rb') as inf: jpgdata = inf.read() if jpgdata.startswith(b'\xff\xd8'): text = u'This is a JPEG file (%d bytes long)\n' else: text = u'This is a random file (%d bytes long)\n' with io.open('summary.txt', 'w', encoding='utf-8') as outf: outf.write(text % len(jpgdata))
montos 2020-04-16 21:32:13 0 浏览量 回答数 0

问题

使用python请求上传文件

我在尝试将文件上传到API时遇到问题。在宽阔的用户界面中,我没有问题手动上传Excel文件。当我尝试使用请求上传上传文件时,我收到415错误(文件格式无效)。这是该发布请求的简单代码&...
几许相思几点泪 2019-12-24 20:49:36 4 浏览量 回答数 1

问题

Python-SDK之如何实现上传文件(一)?

OSS有多种上传方式,不同的上传方式能够上传的数据大小也不一样。普通上传(PutObject)、追加上传(AppendObject)最多只能上传小于或等于5GB的文件&#...
青衫无名 2019-12-01 21:40:57 1432 浏览量 回答数 0

问题

十六进制中的“%U + R m”之类的含义是什么

我试图用python读取mkv视频二进制文件,所以我的代码是: a = open("vokoscreen-2019-12-21_12-15-11.mkv","rb") a...
is大龙 2020-03-24 22:33:57 0 浏览量 回答数 1

问题

如何在阿里云esc服务器,通过python使用smtp发送邮件?求助

环境:python3.7 import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart ...
游客h46qjxcr2bsco 2020-09-14 15:57:43 5 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板