open函数

Linux open函数

落爺英雄遲暮 提交于 2020-03-22 03:11:50
Linux open函数 open 函数用于打开和创建文件。以下是 open 函数的简单描述 #include <fcntl.h> int open(const char *pathname, int oflag, ... ); 返回值:成功则返回文件描述符,否则返回 -1 对于 open 函数来说,第三个参数(...)仅当创建新文件时才使用,用于指定文件的访问权限位(access permission bits)。pathname 是待打开/创建文件的路径名(如 C:/cpp/a.cpp);oflag 用于指定文件的打开/创建模式,这个参数可由以下常量(定义于 fcntl.h)通过逻辑或构成。 O_RDONLY  只读模式 O_WRONLY  只写模式 O_RDWR  读写模式 打开/创建文件时,至少得使用上述三个常量中的一个。以下常量是选用的: O_APPEND  每次写操作都写入文件的末尾 O_CREAT  如果指定文件不存在,则创建这个文件 O_EXCL  如果要创建的文件已存在,则返回 -1,并且修改 errno 的值 O_TRUNC  如果文件存在,并且以只写/读写方式打开,则清空文件全部内容 O_NOCTTY  如果路径名指向终端设备,不要把这个设备用作控制终端。 O_NONBLOCK  如果路径名指向 FIFO/块文件/字符文件,则把文件的打开和后继 I

python——open()函数打开文件和读写

自闭症网瘾萝莉.ら 提交于 2020-03-20 23:43:16
注意:Windows系统文件路径中的斜线符号为'\'调用open()函数打开相应文件路径调用读写函数写入数据1、教程示例: 2、实战示例: 运行结果为: 3、总结 →python用反斜杠'\'转义字符,所以错误案例中的'\'被用作转义,导致解释器解释文件路径错误。 →路径书写有两种方法: 第一、将'\'的方向反向为'/',即文首正确的写法; 第二、在含有转义符的字符串前加 ‘r' 表示字符串内按原始含义解释,不做转义处理。(推荐!) 来源: https://www.cnblogs.com/xzxgiser/p/12535580.html

python学习第七天——输入输出、file

爱⌒轻易说出口 提交于 2020-03-15 17:16:37
一般的输入输出函数:input()和print() something = input("Enter text: ")print("you hava entered:",something) 文件I/O 注意:除了文本字符串,二进制也可以读和写 一个常用的实例: # 打开文件进行 'w'riting 写操作 f = open('poem.txt', 'w') # 将文本写入到文件 f.write(poem) # 关闭文件 f.close() # 如果没有指定文件打开方式 # 默认使用 'r'ead 读模式 f = open('poem.txt') while True: line = f.readline() # 零行意味着 EOF 文件结尾 if len(line) == 0: break # `line` 中已经自带换行了 # 因为它是从文件中读取出来的 print(line, end='') # 关闭文件 f.close() open()函数 python内置的函数,打开一个文件,创建一个file对象的主要参数 file = open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None) file:必须,文件路径的字符串值 mode:文件打开模式:只读,写入,追加等。该参数是非强制的

python基础 & 读写文件

主宰稳场 提交于 2020-03-11 01:16:54
1、open函数用来打开文件 open(name[, mode[, buffering]]) 打开文件可传的参数 open函数使用一个文件名作为唯一的强制参数,然后返回一个文件对象。 模式(mode)和缓冲(buffering)参数都是可选的 打开文件的模式有 r,只读模式(默认)。 w,只写模式。【不可读;不存在则创建;存在则删除内容;】 a,追加模式。【可读; 不存在则创建;存在则只追加内容;】 注 : “+” 表示可以同时读写某个文件 w,只写模式。【不可读;不存在则创建;存在则删除内容;】 w+,写读 a+,同a with语句 作用 :将打开文件写在with中当对文件操作完成后with语句会自动帮关闭文件,避免忘记写f.close() with open ( "data1.txt" , 'r' ,encoding = 'utf-8' ) as f: for line in f: print ( line ) 2、三种读操作比较 readline()每次读取一行,当前位置移到下一行 readlines()读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素 read(size)从文件当前位置起读取size个字节,如果不加size会默认一次性读取整个文件(适用于读取小文件) #1. read()一次读取所有内容 '' 'aaa111 bbb222' '' f

mciSendCommand

孤街浪徒 提交于 2020-03-09 15:09:19
打开文件: 在Win10有问题,Win7没有问题 mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT, (DWORD_PTR)&mciParamsOuter);//阻塞 一直使用这个方法调用,直到某次在使用Duilib库创建窗口的InitWindow中调用该函数,程序一直阻塞在该函数处。但是在窗口创建成功之后,再调用该函数是没有问题的。之后查资料发现在第三个参数中添加一个MCI_OPEN_TYPE就没有问题了。 mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_ELEMENT, (DWORD_PTR)&mciParamsOuter);//正常 来源: CSDN 作者: wfcao1314 链接: https://blog.csdn.net/wfcao1314/article/details/104747937

day20模块作业

五迷三道 提交于 2020-03-07 07:18:30
1.模块化作业 1.回顾文件递归遍历. 默写一遍. 入口在: 当文件是个文件夹的时候 出口在: 文件是一个文件 2.计算时间差(用户输入起始时间和结束时间. 计算时间差(小时), 例如, 用户输入2018-10-08 12:00:00 2018-10-08 14:30:00 输出2小时 3.写一个函数,接收一个参数,如果是文件,就执行这个文件,如果是文件夹,就执行这个文件夹下的所有的py文件。 4.写一个copy函数,接受两个参数,第一个参数是源文件的位置,第二个参数是目标位置,将源文件copy到目标位置。 5.获取某个文件所在目录的上一级目录。 30分 6.使用os模块创建如下目录结构 # glance # ├── __init__.py # ├── api # │ ├── __init__.py # │ ├── policy.py # │ └── versions.py # ├── cmd # │ ├── __init__.py # │ └── manage.py # └── db # ├── __init__.py # └── models.py 7.写一个用户注册登陆的程序,每一个用户的注册都要把用户名和密码用字典的格式写入文件userinfo。在登陆的时候,再从文件中读取信息进行验证。 8.使用random模块,编写一个发红包的函数 2.作业详解 点击查看详细内容 #1.

关于python内open函数encoding编码问题

与世无争的帅哥 提交于 2020-03-06 04:34:59
自己学python的open函数时,发现在pycharm里新建一个file_name.txt文本文件,输入中文保存。再用open(file_name,'r+')打开,再去读写时出现了一些问题。再三控制变量利用Notepad++多轮测试后,总结如下: 1.当原文件为utf8编码格式,且不包含中文,则对其进行读操作,正常;对其进行写操作(非中文),正常,文件编码格式不变;当写入中文字符时,文件编码格式变为gbk,此时pycharm中的文件会将你输入的中文显示为16进制数,并会提示你用gbk编码reload文件。2.当原文件为utf8编码格式,若包含中文,此时对其进行读操作,则可能报错UnicodeDecodeError,也可能不报错,但会输出乱码。是否报错跟中文内容有关(当我在测试时在一串中文中加入'航'就报错了,去掉又没报错,好奇怪).写入中文情况与1相同。建议用sys.getfilesystemencoding()查看系统编码格式,再在open()里改encoding。我的a=utf-8 ,open的encoding默认为‘gbk’。至于具体报错原因,有待日后补充喽...    来源: https://www.cnblogs.com/wangyi0419/p/11192593.html

python的文件操作方法

瘦欲@ 提交于 2020-03-05 15:06:32
python中的文件对象: 文件对象不仅可以用来访问普通的磁盘文件, 而且也可以访问任何其它类型抽象层面上的"文 件". 一旦设置了合适的"钩子", 你就可以访问具有文件类型接口的其它对象, 就好像访问的是普 通文件一样. 文件内建函数[open()和 file()] 1 open('filename') 2 with open('filename') as f: 3 pass open函数使用一个文件名作为唯一的强制参数,然后返回一个文件对象 。模式和缓冲参数都是可选的,默认为只读模式打开文件。使用with即使发生错误可以关闭文件, 下面列出文件对象的访问的模式: 文件模式 操作 r 以只读方式打开 rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278) w 以写方式打开 (必要时清空) a 以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+ 以读写模式打开 w+ 以读写模式打开 (参见 w ) a+ 以读写模式打开 (参见 a ) rb 以二进制读模式打开 wb 以二进制写模式打开 (参见 w ) ab 以二进制追加模式打开 (参见 a ) rb+ 以二进制读写模式打开 (参见 r+ ) wb+ 以二进制读写模式打开 (参见 w+ ) ab+ 以二进制读写模式打开 (参见 a+ ) x 如果文件存在报错,不存在则创建 ***加b模式打开

linux open()文件操作

限于喜欢 提交于 2020-03-05 06:26:26
python程序中经常用到的读文件: f = open("___", 'r') for line in f:#这里每次读取文件的一行,line为字符串,串尾包括了'\n'!!! print line f.close() 转自:http://www.jb51.net/article/58002.htm 1. open()语法 open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]]) open函数有很多的参数,常用的是file,mode和encoding file 文件位置,需要加引号 mode 文件打开模式,见下面3 buffering 的可取值有0,1,>1三个,0代表buffer关闭(只适用于二进制模式),1代表line buffer(只适用于文本模式),>1表示初始化的buffer大小; encoding 表示的是返回的数据采用何种编码,一般采用utf8或者gbk; errors 的取值一般有strict,ignore,当取strict的时候,字符编码出现问题的时候,会报错,当取ignore的时候,编码出现问题,程序会忽略而过,继续执行下面的程序。 newline 可以取的值有None, \n, \r, ”, ‘\r\n',用于区分换行符,但是这个参数只对文本模式有效;

通过trace跟踪系统调用

╄→гoц情女王★ 提交于 2020-03-04 15:16:53
简介 strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。 输出参数含义 root@ubuntu:/usr# strace cat /dev/null execve("/bin/cat", ["cat", "/dev/null"], [/* 22 vars */]) = 0brk(0) = 0xab1000access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29379a7000access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)...brk(0) = 0xab1000brk(0xad2000) = 0xad2000fstat(1, {st_mode=S_IFCHR|0620, st