open函数

python open 函数的一些坑

痴心易碎 提交于 2019-12-03 08:58:31
(1)路径问题 open一个同py文件同一个目录的文件的时候,用以下: txt = open('/filtered_words.txt','rb') words = txt.readline() filtered = [] for word in words: filtered.append(word) txt.close() print(filtered) 会报错 FileNotFoundError: [Errno 2] No such file or directory: '/filtered_words.txt' 这里写错了一个地方,应该写成 txt = open('filtered_words.txt','rb') 也可利用绝对路径 txt = open('E:\\python_project\\test\github\\filtered_words.txt','rb') 这样也不会报错 用反斜杠,这样也不会报错 txt = open('E:/python_project/test/github/filtered_words.txt','rb') (3)打开文件格式 文档的内容是汉字,用utf-8格式,如果用rb权限open文件,汉字打印出来会变成数字 txt = open('filtered_words.txt','rb') words = txt.readline()

到处抄来的SUCTF2019 web wp

﹥>﹥吖頭↗ 提交于 2019-12-03 06:24:18
0x01 EasySQL 这是一个考察堆叠注入的题目,但是这道题因为作者的过滤不够完全所以存在非预期解 非预期解 直接构造 *,1 这样构造,最后拼接的查询语句就变成了 select *,1||flag from Flag ,可以直接得到当前表中的全部内容,就能够直接获得flag 正常解题 堆叠注入,先构造 1;show tables;# 可以得到当前的表信息 并且根据回显,我们可以大致判断查询语句为: ... POST['query']||flag ... 直接构造 1;select * from Flag;# 出现 Nonono , 可以知道存在过滤,过滤了flag 这时候,通过堆叠注入,设置 sql_mode 的值为 PIPES_AS_CONCAT ,从而将 || 视为字符串的连接操作符而非或运算符,所以构造出来的payload为: 1;set sql_mode=PIPES_AS_CONCAT;select 1 得到flag 0x02 CheckIn 上传文件的时候发现,上传扩展名为aaa的文件,回显 <? in contents! ,说明文件的内容不能包含<?,可以知道上传的时候是黑名单过滤,直接把文件的尾缀改为jpg,回显 exif_imagetype:not image! 猜测后端应该调用了php的 exif_imagetype() 函数,这个很好绕过

Python中的文件处理和数据存储json

无人久伴 提交于 2019-12-03 04:43:19
前言:每当需要分析或修改存储在文件中的信息时,读取文件都很有用,对数据分析应用程序来说尤其如此。 例如,你可以编写一个这样的程序:读取一个文本文件的内容,重新设置这些数据的格式并将其写入文件,让浏览器能够显示这些内容。 要使用文本文件中的信息,首先需要将信息读取到内存中。为此,你可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取。 一、open、close处理文件 1.读取整个文件 操作文件中的函数/方法 在python中操作文件需要记住1个函数和3个方法 python中一切皆对象 open :打开文件,并且返回文件操作对象 read :将文件内容读取到内存 write:将指定内容写入文件 close:关闭文件 open函数负责打开文件,并且返回文件对象 read/write/close 三个方法都需要通过文件对象来调用 read方法–读取文件 open函数的第一个参数是要打开的文件名(文件名区分大小写) 如果文件存在,返回文件操作对象, 如果文件不存在,会抛出异常 read方法可以一次性读入并返回文件的所有内容 close负责关闭文件 实例【1】 要读取文件,需要一个包含几行文本的文件。下面首先来创建一个文件,它包含精确到小数点后 30 位的圆周率值,且在小数点后每 10 位处都换行: pi_digits纯文本文件 3.1415926535 8979323846

文件操作、综合应用

匿名 (未验证) 提交于 2019-12-03 00:42:01
示例如下: 大家应该听说过一句话:“好记性不如烂笔头”。 不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把这些数据存放起来,相比重启电脑之后,“哭都没地方哭了” 可见,在把数据存储起来有做么大的价值 使用文件的目的: 就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力 想一想: 如果想用word编写一份简历,应该有哪些流程呢? 打开word软件,新建一个word文件 写入个人简历信息 保存文件 关闭word软件 同样,在操作文件的整体过程与使用word编写一份简历的过程是很相似的 打开文件,或者新建立一个文件 读/写数据 关闭文件 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式) 示例如下: f = open ( ‘ test . txt ‘ , ‘ w ‘ ) 说明: 访问模式 说明 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 rb

1-文件IO―open/close函数

匿名 (未验证) 提交于 2019-12-03 00:34:01
函数原型: <unistd.h> <fcntl.h> int open( const char *pathname, int flags); int open( const char *pathname, int flags, mode_t mode); 参数说明: 返回值说明: flags选项一般有以下几种常用方式: O_SYNC:以同步方式打开文件 O_CREAT:若打开的文件不存在则自动创建该文件 O_TRUNC:如果打开的文件存在并且以可写方式打开,则将文件的数据全部清空 O_NONBLOCK:以非阻塞式打开文件,无论有无数据或等待,都会立即返回进程之中 O_APPEND:每次打开文件后,新写入的数据会追加到文件末尾,如果不指定,则新写入的数据会从文件起始位置开始写,这会覆盖原来的数据。 O_EXCL:若打开的文件存在则出错,如果设置了O_CREAT的话,会先去检查文件是否存在,不存在则创建该文件,存在的话将出错,可用于测试一个文件是否存在。 函数原型: int close ( int fd); 参数fd:已打开的文件的文件描述符 返回值:成功返回0,失败-1 使用open和close打开并关闭一个文件 #include <unistd.h> #include <stdio.h> #include <fcntl.h> #include <errno.h> int main(

阻塞IO与非阻塞IO

匿名 (未验证) 提交于 2019-12-03 00:18:01
阻塞IO, 当前进程因不满足一些条件,而被挂起,即阻塞,cpu改去服务其它进程, read一个普通文件,就马上执行,read一个鼠标,可是鼠标没有动,于是就阻塞了, 阻塞的好处, 利于os性能的发挥,cpu发挥高,虽然个体的费了点时间,但是总的效率得到了提高, 阻塞在多路IO的时候,缺陷就出来了,比如2路IO分别要读键盘和鼠标,阻塞在鼠标,可是鼠标没动,然后键盘输入也没用, 非阻塞IO,如果涉及多路IO,最好就不要用阻塞IO, 默认都是阻塞方式, 实现非阻塞, 1,打开文件O_NONBLOCK, 2,fcntl函数, 读取键盘,标准输入,stdin,0,默认就是打开的, read( 0, buf, 2 ); 读取鼠标, int fd = -1; fd = open( “/dev/input/mouse1”, O_RDONLY ); read( fd, buf, 5 ); 同时读取键盘和鼠标, 由于读取2者,都是阻塞方式的, 而且程序中有固有的先后顺序,我们需要配合,比如先动鼠标,然后动键盘, 阻塞有它的好处,也有它的不便之处, #include <stdio.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int

文件操作回顾

匿名 (未验证) 提交于 2019-12-02 23:49:02
文件操作 1.1 open()---打开 1.2 file---文件的位置(路径) 1.3 mode---操作文件的模式 1.4 encoding---文件的编码方式 1.5 f---文件句柄 1.6 f = open("萝莉小姐姐电话号",mode="r",encoding="utf-8") print(f.read()) f.close() 1.7 操作文件 1.71 打开文件 1.72 操作文件 1.73 关闭文件 1.8 文件操作的模式 1.81 r,w,aģʽ 1.82 rb,wb,abģʽ 1.83 r+,w+,a+ģʽ 1.9 基本格式 f = open("文件的路径(文件放的位置)",mode="操作文件的模式",encoding="文件的编码") # 内置函数 f(文件句柄) r,w,aģʽ 2.1 rģʽ 2.1.1 read()全部读取,看文件的操作方式,r/w/a字符 f = open("萝莉小姐姐电话号",mode="r",encoding="utf-8") print(f.read()) #全部读取 print(f.read(5)) #按照字符进行读取 print(f.read()) 2.1.2 readline()读取一行内容,自动换行 print(f.readline()) # 读取一行内容,自动换行 print(f.readline()) #

06 返回静态文件的映射(函数/多线程)web框架

匿名 (未验证) 提交于 2019-12-02 23:48:02
06 / web 1 import socket 2 server = socket.socket() 3 server.bind(("127.0.0.1", 8888)) 4 server.listen() 5 6 def func_html(conn): 7 with open("index.html", "rb")as f: 8 conn.send(f.read()) 9 10 11 def func_js(conn): 12 with open("index.js", "rb")as f: 13 conn.send(f.read()) 14 15 16 def func_css(conn): 17 with open("index.css", "rb")as f: 18 conn.send(f.read()) 19 20 21 def func_img(conn): 22 with open("index.png", "rb")as f: 23 conn.send(f.read()) 24 25 26 def func_ico(conn): 27 with open("favicon.ico","rb")as f: 28 conn.send(f.read()) 29 30 def respones_back(conn,path): 31 conn.send("HTTP/1

python的os模块、open参数详解

匿名 (未验证) 提交于 2019-12-02 22:58:11
#os模块学习 import os """ os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。 os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径。 os.getenv()和os.putenv:分别用来读取和设置环境变量 os.listdir():返回指定目录下的所有文件和目录名 os.remove(file):删除一个文件 os.stat(file):获得文件属性 os.chmod(file):修改文件权限和时间戳 os.mkdir(name):创建目录 os.rmdir(name):删除目录 os.removedirs(r“c:\python”):删除多个目录 os.system():运行shell命令 os.exit():终止当前进程 os.linesep:给出当前平台的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r' os.getcwd()#获得当前工作目录 os.path.abspath('.')#获得当前工作目录 os.path.abspath('..')#获得当前工作目录的父目录 os.path.abspath(os.curdir)#获得当前工作目录 #os.path os

python文件操作

匿名 (未验证) 提交于 2019-12-02 22:56:40
1.дģʽ 2.只读模式 3.追加模式 4.概念:句柄 open(), 5.文件关闭close(),数据由缓冲期进入磁盘 6.要有指针的概念,针对一个句柄,操作的时候注意光标的位置。 7.readlines()读取的出列表的形式,打开之后存在内存中 8.可以抽离出文件内容,然后关闭文件,在列表操作,避免在内存中操作 9.对于字符串拼接常用join()函数 10.文件追加内容,读取到另一个文件中 实例: # coding=GBK a=open(‘file1‘,‘r+‘) #已存在的文件file1 b=open(‘file2‘,‘w‘) num=0 for i in a.readlines(): num +=1 if num==7: i=‘‘.join([i.strip(),‘like\n‘]) b.write(i.strip()+"\n") b.flush() #即时保存在磁盘中 a.close() b.close() 原文:https://www.cnblogs.com/duguxiren/p/9348193.html