菜单

Python 学习笔记(10二)Python文件和迭代(一),

2019年5月4日 - 金沙编程资讯

跨平台路线:os.path.abspath(path)

Python 学习笔记(拾2)Python文件和迭代(1),

文件

文件和文件夹

文本:文本文件、2进制文件

文件夹:(windows) G:\pythonWorkspace\python\study   

    (linux/mac) /home/workspace/python

    注意:文件夹路线的斜杠linux与windows分歧

windows下文件路线:示例 

1 >>> p1="G:\pythonWorkspace\python\study\test.txt"
2 >>> p2 =r"G:\pythonWorkspace\python\study\test.txt"
3 >>> p3 ="G:\\pythonWorkspace\\python\\study\\test.txt"

 

跨平台路线:os.path.abspath(path)

翻开属性:os.stat(filename)

p2 =r"G:\pythonWorkspace\python\study\test.txt"

1 >>> import os #引入os 模块

2 >>> os.stat(p2) #查看文件属性 3 nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0L, st_nlink=0, st_uid=0, st_gid=0, st_size=14L, st_atime=1520953379L, st_mtime=1520953401L, st_ctime=1520953379L) 4 >>>

 

读、写文件

python 粤语件也是壹种档次的靶子,有属性 __iter__,表明是可迭代的

开荒叁个文件

>>> dir(file)  #查看文件的属性
['__class__', '__delattr__', '__doc__', '__enter__', '__exit__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'close', 'closed', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'mode', 'name', 'newlines', 'next', 'read', 'readinto', 'readline', 'readlines', 'seek', 'softspace', 'tell', 'truncate', 'write', 'writelines', 'xreadlines']
>>> f =open(p2) #打开一个文件
>>> for line in f:  #循环读取文件内容
...     print line #打印出来后,两行之间有空行,原因print 会自动的带上一个换行符
...
study python

aaaaa

>>> f =open(p2) #第二次也要open文件
>>> for line in f:
...     print line, #出现空行解决方式在line后面加,
...
study python
aaaaa
>>>

写文件

w 情势张开2个文件只用于写入。要是该公文已存在则将其遮住。若是该文件不存在,创制新文件

a 格局 张开3个文书用于充实。若是该公文已存在,文件指针将会放在文件的末尾。也正是说,新的内容将会被写入到已有内容之后。尽管该文件不存在,制造新文件举办写入。

with 语句 能够不写close() 

1 >>> nf =open("G:\\pythonWorkspace\\python\\study\\test.txt","w") #打开一个文件,用w模式,写入
2 >>> nf.write("This is a new file.") #将这句话写入文件
3 >>> nf.close() #打开一个文件,写入后必须关闭掉
4 >>> nf =open("G:\\pythonWorkspace\\python\\study\\test.txt")
5 >>> for line in nf:
6 ...     print line
7 ...
8 This is a new file.

 1 >>> with open("G:\\pythonWorkspace\\python\\study\\test.txt","a") as fp:  #with open 也可以创建文件 打开文件,适用with open write后面的close()可以不写,它会自动处理
 2 ...     fp.write("\n what's your name?")
 3 ...
 4 
 5 >>> f =open("G:\\pythonWorkspace\\python\\study\\test.txt")
 6 >>> for line in f:
 7 ...     print line
 8 ...
 9 
10 
11  what's your name?
12 >>>

差别的读文件措施

 1 >>> help(file.read)
 2 Help on method_descriptor:
  #参数size可选,如果没有参数,将文件的全部内容读取,如果有参数,将读取到指定的字节,然后将读取到的这些内容以字符串形式返回
 3 所读取的内容一次返回到内存中,随时可以取用,方便快捷。这种方式,如果文件特别大的时候,会使内存开销太大。
 4 read(...)
 5     read([size]) -> read at most size bytes, returned as a string. 
 6 
 7     If the size argument is negative or omitted, read until EOF is reached. 
 8     Notice that when in non-blocking mode, less data than what was requested
 9     may be returned, even if no size parameter was given.
10 
11 >>> help(file.readline)
12 Help on method_descriptor: 
13 参数(size)可选,它是以行为单位返回一个字符串,每次读取一行,依次循环往下读取,如果没有参数,则将读取到文件最后,返回空字符串,到达文件末尾。END OF FILE (EOF)
14 readline(...)
15     readline([size]) -> next line from the file, as a string.
16 
17     Retain newline.  A non-negative size argument limits the maximum
18     number of bytes to return (an incomplete line may be returned then).
19     Return an empty string at EOF.
20 
21 >>> help(file.readlines)
22 Help on method_descriptor:
23 返回以行为单位的列表,相当于执行readline, 得到每一行,然后把这一行的字符串,作为列表中的元素,再放到一个列表中,最后将列表返回。
24 readlines(...)
25     readlines([size]) -> list of strings, each a line from the file.
26 
27     Call readline() repeatedly and return a list of the lines so read.
28     The optional size argument, if given, is an approximate bound on the
29     total number of bytes in the lines returned.

演示:读取文件

  read()     
读取文件内容,假设钦定参数,将点名字节相应的剧情重临,假设未有点名参数,将文件内容全方位回来。

  readline() 以行为单位读取文件,重临二个字符串,每便读取一行,1遍巡回往下读取。假如未有点名参数,将读取到文件末尾。

  readlines() 再次回到以行为单位的列表,也等于推行readline,获得每1行,然后把那1行的字符串,作为列表的因素,最终将那几个列表重临

  import fileinput 读取大文件时,使用 

  f.seek(0) 改换目前文件的岗位

  f.tell() 告诉文件当前的指针地方,文件内的脚下岗位

 1 >>> f =open("G:\\pythonWorkspace\\python\\study\\test.txt")
 2 >>> c=f.read() #把文件的全部内容读取出来,放到一个变量
 3 >>> c
 4 "\n what's your name?"
 5 >>> f =open("G:\\pythonWorkspace\\python\\study\\test.txt")
 6 >>> f.read(5) #有参数,将返回相应字节的内容
 7 '\n wha'
 8 >>> f =open("G:\\pythonWorkspace\\python\\study\\test.txt")
 9 >>> f.readline() 返回第一行的内容,每一行都是一个字符串
10 '\n'
11 >>> f =open("G:\\pythonWorkspace\\python\\study\\test.txt")
12 >>> f.readlines()  返回一个列表,列表中每一行为一个元素
13 ['\n', " what's your name?"]
14 >>> import fileinput #引入大文件模块,避免文件太大,内存过满的问题
15 >>> for line in fileinput.input("G:\\pythonWorkspace\\python\\study\\bigfile.txt"):
16 ...     print line
17 ...
18 Before getting started,
19 
20 you may want to find out which IDEs and text editors are tailored to make Python editing easy,
21 
22 browse the list of introductory books,
23 
24 or look at code samples that you might find helpful.
25 
26 There is a list of tutorials suitable for experienced programmers on the BeginnersGuide/Tutorials page.
27 
28 There is also a list of resources in other languages which might be useful if English is not your first language.
29 >>> f=open("G:\\pythonWorkspace\\python\\study\\bigfile2.txt")
30 >>> for line in f:
31 ...     print line
32 ...
33 Before getting started,
34 
35 you may want to find out which IDEs and text editors are tailored to make Python editing easy,
36 
37 browse the list of introductory books,
38 
39 or look at code samples that you might find helpful.
40 
41 There is a list of tutorials suitable for experienced programmers on the BeginnersGuide/Tutorials page.
42 
43 There is also a list of resources in other languages which might be useful if English is not your first language.
  #每次读取完一个文件之后,都需要重新把这个文件再打开一次,之所以这样做是因为指针已经移到文件最后了。
44 >>> f.seek(0) #使用seek()移动指针,参数0为,指针回到文件最开始,
45 >>> f.readline()
46 'Before getting started, \n'
47 >>> f.tell() #使用tell()查看当前指针的位置
48 26L
49 >>> f.seek(4) #参数为4,将指针定位到从开头到第4个字符的位置的后面
50 >>> f.tell()
51 4L
52 >>>

 

学习笔记(10二)Python文件和迭代(①),
文件 文件和文件夹 文件:文本文件、贰进制文件
文件夹:(windows)G:\pythonWorkspace\python\st…

python之文件的读写和文件目录以及文件夹的操作落成代码,

为了安全起见,最棒依然给展开的公文对象钦赐多个名字,那样在成就操作之后可以长足关闭文件,防止有个别失效的文本对象占用内部存款和储蓄器。举例,对文件文件读取:

file_object = open('thefile.txt') 
try: 
all_the_text = file_object.read( ) 
finally: 
file_object.close( )

Python读写文件实操的中国共产党第五次全国代表大会步骤
一、展开文件
Python读写文件在Computer语言中被布满的应用,若是您想询问其应用的程序,以下的稿子会给你详细的牵线有关内容,会你在此后的就学的历程中存有扶助,下边我们就详细介绍其应用程序。
代码如下:

f = open("d:\test.txt", "w") 

说明:
率先个参数是文件名称,包罗路线;第1个参数是开垦的格局mode
‘r’:只读(缺省。如果文件不存在,则抛出荒谬)
‘w’:只写(即使文件不设有,则自动创制文件)
‘a’:附加到文件末尾
‘r+’:读写
如果必要以二进制格局张开文件,供给在mode前面加上字符”b”,举例”rb””wb”等
二、读取内容
f.read(size)
参数size表示读取的数码,能够差不离。纵然省略size参数,则意味着读取文件全部剧情。
f.readline()
读取文件一行的内容
f.readlines()
读取全数的行到数组里面[line1,line2,…lineN]。在防止将有着文件内容加载到内部存款和储蓄器中,那种措施日常使用,便于进步功用。
3、写入文件

f.write(string)
将三个字符串写入文件,假设写入停止,必须在字符串后边加上”\n”,然后f.close()关闭文件

4、文件中的内容定位
f.read()
读取之后,文件指针达到文件的最后,如若再来三次f.read()将会发觉读取的是空内容,假诺想再也读取全体内容,必须将定位指针移动到文件开头:
f.seek(0)
以此函数的格式如下(单位是bytes):
f.seek(offset, from_what)
from_what代表开始读取的地点,offset代表从from_what再移动一定量的距离,举个例子f.seek(10,
3)表示一定到第七个字符并再后移十三个字符。from_what值为0时表示文件的起初,它也得以简简单单,缺省是0即文件发轫。下边给出1

f = open('/tmp/workfile', 'r+') 
f.write('0123456789abcdef') 
f.seek(5) # Go to the 6th byte in the file 
f.read(1)  
'5' 
f.seek (-3, 2) # Go to the 3rd byte before the end 
f.read(1) 
'd' 

5、关闭文件释放能源
文本操作甘休,一定要记得关闭文件f.close(),能够自由能源供其余程序选取
Python读写文件在微型计算机语言中被大规模的利用,假如您想了然其选择的主次,以下的稿子会给你详细的介绍相关内容,会你在随后的求学的长河中装有援助,上面我们就详细介绍其应用程序。

一、python中对文件、文件夹操作时通常选取的os模块和shutil模块常用方法。

一.到手当前专业目录,即眼下Python脚本专门的学业的目录路线: os.getcwd()
2.回去钦定目录下的全体文件和目录名:os.listdir()
三.函数用来删除三个文本:os.remove()
4.删减多少个目录:os.removedirs(r”c:\python”)
五.视察给出的门径是或不是是一个文书:os.path.isfile()
六.验证给出的路径是还是不是是二个索引:os.path.isdir()
七.判断是或不是是相对路径:os.path.isabs()
8.核实给出的门径是或不是真地存:os.path.exists()
九.回来一个门道的目录名和文书名:os.path.split()
例子:
代码如下:
os.path.split(‘/home/swaroop/byte/code/poem.txt’)
结果:(‘/home/swaroop/byte/code’, ‘poem.txt’)

拾.别离扩张名:os.path.splitext()
11.赢得路线名:os.path.dirname()
12.到手文件名:os.path.basename()
13.运行shell命令: os.system()
14.读取和设置意况变量:os.getenv() 与os.putenv()
一5.付给当前平台运用的行终止符:os.linesep
Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’
1陆.提醒你正在使用的平台:os.name
对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’
17.重命名:os.rename(old, new)
1捌.创建多级目录:os.makedirs(r”c:\python\test”)
1玖.创造单个目录:os.mkdir(“test”)
20.获得文件属性:os.stat(file)
二1.修改文件权限与时间戳:os.chmod(file)
2二.终止当前进程:os.exit()
二三.拿走文件大小:os.path.getsize(filename)
二、文件操作方法大全 一.os.mknod(“test.txt”) 创立空文件
2.fp = open(“test.txt”,w) 直接展开三个文件,假如文件不设有则开创文件
3.关于open 模式:

复制代码 代码如下:
r:以读格局展开文件,可读取文件新闻。
w:以写格局展开文件,可向文件写入信息。如文件存在,则清空该公文,再写入新剧情
a:以充实格局张开文件(即一展开文件,文件指针自动移到文件末尾),假如文件不存在则创制
b:以2进制情势展开文件,而不是以文件方式。该情势只对Windows或Dos有效,类Unix的文件是用2进制格局实行操作的。
r+:以读写格局展开
w+:以读写形式张开 (参见 w )
a+:以读写形式张开 (参见 a )
rb:以二进制读形式展开
wb:以二进制写模式张开 (参见 w )
ab:以二进制追加方式张开 (参见 a )
rb+:以2进制读写方式展开 (参见 r+ )
wb+:以2进制读写格局张开 (参见 w+ )
ab+:以二进制读写形式打开 (参见 a+ )

文件对象方法
f.close():关闭文件,记住用open()打开文件后肯定要记得关闭它,不然会占有系统的可展开文件句柄数。
f.fileno():获得文件描述符,是3个数字
f.flush():刷新输出缓存
f.isatty():纵然文件是3个互相终端,则赶回True,不然再次来到False。
f.read([count]):读出文件,要是有count,则读出count个字节。
f.readline():读出一行新闻。
f.readlines():
读出装有行,也正是读出成套文件的音讯。
f.seek(offset[,where]):把公文指针移动到相对于where的offset地方。where为0表示文件开头处,那是默许值
;一象征目前职分;二代表文件结尾。
f.tell():得到文件指针地方。
f.truncate([size]):截取文件,使文件的大大小小为size。
f.write(string):把string字符串写入文件。
f.writelines(list):把list中的字符串一行一行地写入文件,是接二连叁写入文件,未有换行。

fp.read([size]) #size为读取的长短,以byte为单位
fp.readline([size])
#读1行,假使定义了size,有非常的大希望回到的只是单排的一有个别
fp.readlines([size])
#把文件每1行作为3个list的1个分子,并再次回到这些list。其实它的里边是透过循环调用readline()来得以完毕的。假使提供size参数,size是意味着读取内容的路程,也便是说恐怕只读到文件的1部分。
fp.write(str) #把str写到文件中,write()并不会在str后拉长三个换行符
fp.writelines(seq)
#把seq的剧情总体写到文件中(多行三回性写入)。这一个函数也只是忠贞地写入,不会在每行前面加上别的事物。
fp.close()
#关门文件。python会在1个文本不用后自行关闭文件,但是那一功力未有管教,最棒依旧养成本人关闭的习于旧贯。
如若二个文本在闭馆后还对其开始展览操作会发生ValueError
fp.flush() #把缓冲区的原委写入硬盘
fp.fileno() #回来2个长整型的”文件标签”
fp.isatty() #文件是或不是是贰个极限设备文件(unix系统中的)
fp.tell() #回去文件操作标识的目前岗位,以文件的起来为原点
fp.next() #回来下一行,并将文件操作标识位移到下1行。把贰个file用于for
… in file那样的说话时,正是调用next()函数来完毕遍历的。
fp.seek(offset[,whence])
#将文件打操作标识移到offset的岗位。那一个offset一般是对峙于文件的启幕来计量的,一般为正数。但1旦提供了whence参数就不确定了,whence可感觉0表示从头发轫总计,一意味以近期地方为原点总计。二意味以文件末尾为原点举办测算。必要专注,假如文件以a或a+的格局打开,每回实行写操作时,文件操作标识会自动回到到文件末尾。
fp.truncate([size])
#把公文裁成规定的轻重,默许的是裁到当前文件操作标志的职位。借使size比文件的大小还要大,依附系统的比不上或者是不转移文件,也可能是用0把公文补到对应的大大小小,也说不定是以部分专擅的原委丰盛去。

叁、目录操作方法大全

1.开立目录

os.mkdir(“file”)                  
二.复制文件:
shutil.copyfile(“oldfile”,”newfile”)       
#oldfile和newfile都不得不是文本
shutil.copy(“oldfile”,”newfile”)           
#oldfile只好是文本夹,newfile可以是文本,也足以是目的目录
三.复制文件夹:
4.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”)                            #换路径

目录操作:
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”)   换路径

编制程序实例: 
 

# -*- coding: utf-8 -*- 

import os 
import shutil 

# 一. 路径操作:判断、获取和删除 

#1. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 
#print: currentpath: f:\LearnPython 
currentpath = os.getcwd() 
print "currentpath: ",currentpath 
#2. 返回指定目录下的所有文件和目录名:os.listdir() 
#print:os.listdir(): ['test.txt', 'testRW.py', 'test1.txt', 'cmd.py', 'rwfile.py', 'downloadfile.py', 'date.py', 'time.py', 'datetime.py', 'file.py'] 
print "os.listdir(): ",os.listdir('f:\LearnPython') 

path = "F:\mmmmmmmmm\[email protected]_android1.6_3.2.1.apk" 
#3. 判断给出的路径是否真地存:os.path.exists() 
if os.path.exists(path): 
  #删除一个文件:os.remove() 
  os.remove(path) 
else: 
  print path,"not exist" 

#4. 删除多个目录:os.removedirs(“c:\python”) 
#它只能删除空目录,如果目录里面有内容将不会被删除 
if os.path.exists("d:/woqu"): 
  os.removedirs("d:/woqu") 
else: 
  os.mkdir("d:/woqu") 
  os.removedirs("d:/woqu") 

#5. 判断给出的路径是否是一个文件:os.path.isfile() 
#print: True 
print os.path.isfile("D:\hello\json.txt") 
#6. 判断给出的路径是否是一个目录:os.path.isdir() 
#print: True 
print os.path.isdir("D:\hello") 
#7. 判断是否是绝对路径:os.path.isabs() 
#print: True 
print os.path.isabs("D:\hello") 
# 判断是否是链接 
print os.path.islink('http://www.baidu.com') 
#8. 返回一个路径的目录名和文件名:os.path.split()    
#eg os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt')  
#print: ('D:\\hello', 'json.txt') 
print os.path.split("D:\hello\json.txt") 
#9. 分离扩展名:os.path.splitext() 
#print:('D:\\hello\\json', '.txt') 
print os.path.splitext("D:\hello\json.txt") 
#10. 获取路径名:os.path.dirname() 
#print: 'D:\\hello' 
print os.path.dirname("D:\hello\json.txt") 
#11. 获取文件名:os.path.basename() 
#print: 'json.txt' 
print os.path.basename("D:\hello\json.txt") 


#13. 指示你正在使用的平台:os.name    对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix' 
print "os.name: ",os.name 

#14. linex 下的命令 
if os.name == 'posix': 
  #读取和设置环境变量:os.getenv() 与os.putenv() 
  home_path = os.environ['HOME'] 
  home_path = os.getenv('HOME') #读取环境变量  
elif os.name == 'nt': 
  home_path = 'd:'  
  print 'home_path: ',home_path 

#15. 给出当前平台使用的行终止符:os.linesep  Windows使用'\r\n',Linux使用'\n'而Mac使用'\r' 
print(os.linesep) 

#16. 应为windows和linux的路径有点点不一样,windows是用 \\ 来分割的,linux是用 / 来分隔, 
#而用os.sep 会自动根据系统选择用哪个分隔符。 
print(os.sep) 

#17. 重命名:os.rename(old, new) 
#先进入目录 
os.chdir("d:\\hello") 
print os.getcwd()  
#18. 再重命名 
os.rename("1.txt", "11.txt") 
#19. 创建多级目录:os.makedirs(“c:\python\test”) 
os.makedirs('d:\h\e\l\l\o') 
#20. 创建单个目录:os.mkdir(“test”) 
os.mkdir('d:\f') 
#21. 获取文件属性:os.stat(file) 
#print: nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=497L, st_atime=1346688000L, st_mtime=1346748054L, st_ctime=1346748052L) 
print os.stat('d:\hello\json.txt') 
#22. 修改文件权限与时间戳:os.chmod(path,mode) 
#这里有介绍:http://blog.csdn.net/wirelessqa/article/details/7974477 
#23. 终止当前进程:os.exit() 
#24. 获取文件大小:os.path.getsize(filename) 
print os.path.getsize('d:/hello/json.txt') 

python中怎么样将列表写入文件:
实例:

a = [1,2,3,4,5,6,7,8,9] 
tmp = [] 
for i in range(0,len(a),3): 
 tmp.append(str(a[i])+","+str(a[i+1])+","+str(a[i+2])+"\n") 
file("./a.txt",'w').writelines(tmp) 

python 读取txt文件到列表中
实例:
假使txt文件内容为:aaa,bbb,ccc
ddd,eee,fff

自身要读取保存到列表中去,展现结果为[[aaa,bbb,ccc],[ddd,eee,fff]]

txtpath=r"a.txt" 
fp=open(txtpath) 
arr=[] 
for lines in fp.readlines(): 
  lines=lines.replace("\n","").split(",") 
  arr.append(lines) 
fp.close() 

为了安全起见,最棒仍然给张开的文本对象指定3个名字,那样在成就操作之后…

😉

 1 >>> f =open("G:\\pythonWorkspace\\python\\study\\test.txt")
 2 >>> c=f.read() #把文件的全部内容读取出来,放到一个变量
 3 >>> c
 4 "\n what's your name?"
 5 >>> f =open("G:\\pythonWorkspace\\python\\study\\test.txt")
 6 >>> f.read(5) #有参数,将返回相应字节的内容
 7 '\n wha'
 8 >>> f =open("G:\\pythonWorkspace\\python\\study\\test.txt")
 9 >>> f.readline() 返回第一行的内容,每一行都是一个字符串
10 '\n'
11 >>> f =open("G:\\pythonWorkspace\\python\\study\\test.txt")
12 >>> f.readlines()  返回一个列表,列表中每一行为一个元素
13 ['\n', " what's your name?"]
14 >>> import fileinput #引入大文件模块,避免文件太大,内存过满的问题
15 >>> for line in fileinput.input("G:\\pythonWorkspace\\python\\study\\bigfile.txt"):
16 ...     print line
17 ...
18 Before getting started,
19 
20 you may want to find out which IDEs and text editors are tailored to make Python editing easy,
21 
22 browse the list of introductory books,
23 
24 or look at code samples that you might find helpful.
25 
26 There is a list of tutorials suitable for experienced programmers on the BeginnersGuide/Tutorials page.
27 
28 There is also a list of resources in other languages which might be useful if English is not your first language.
29 >>> f=open("G:\\pythonWorkspace\\python\\study\\bigfile2.txt")
30 >>> for line in f:
31 ...     print line
32 ...
33 Before getting started,
34 
35 you may want to find out which IDEs and text editors are tailored to make Python editing easy,
36 
37 browse the list of introductory books,
38 
39 or look at code samples that you might find helpful.
40 
41 There is a list of tutorials suitable for experienced programmers on the BeginnersGuide/Tutorials page.
42 
43 There is also a list of resources in other languages which might be useful if English is not your first language.
  #每次读取完一个文件之后,都需要重新把这个文件再打开一次,之所以这样做是因为指针已经移到文件最后了。
44 >>> f.seek(0) #使用seek()移动指针,参数0为,指针回到文件最开始,
45 >>> f.readline()
46 'Before getting started, \n'
47 >>> f.tell() #使用tell()查看当前指针的位置
48 26L
49 >>> f.seek(4) #参数为4,将指针定位到从开头到第4个字符的位置的后面
50 >>> f.tell()
51 4L
52 >>>

>>> os.path .isfile(“C:\\test.txt”)

>>> dir(file)  #查看文件的属性
['__class__', '__delattr__', '__doc__', '__enter__', '__exit__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'close', 'closed', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'mode', 'name', 'newlines', 'next', 'read', 'readinto', 'readline', 'readlines', 'seek', 'softspace', 'tell', 'truncate', 'write', 'writelines', 'xreadlines']
>>> f =open(p2) #打开一个文件
>>> for line in f:  #循环读取文件内容
...     print line #打印出来后,两行之间有空行,原因print 会自动的带上一个换行符
...
study python

aaaaa

>>> f =open(p2) #第二次也要open文件
>>> for line in f:
...     print line, #出现空行解决方式在line后面加,
...
study python
aaaaa
>>>

😉

  read()     
读取文件内容,若是钦赐参数,将点名字节相应的内容重临,若是没有点名参数,将文件内容全方位赶回。

科学普及通文科件操作方法:

 

金沙客户端下载 1

    注意:文件夹路线的斜杠linux与windows差异

5、分解文件名的扩充名——os.path.splitext()

a 形式 打开1个文书用于充实。若是该文件已存在,文件指针将会放在文件的末段。也正是说,新的内容将会被写入到已有内容之后。即使该文件不设有,创设新文件举办写入。

>>>os.getcwd()’c:\\’>>>
file=open(‘test.txt’)#私下认可的mode是’r’,即读方式>>>file.read() 
#读取文件内容’hello\nworld\nhello,python’  # 
\4166金沙手机官网,n在文书中的形式是换行

1 >>> p1="G:\pythonWorkspace\python\study\test.txt"
2 >>> p2 =r"G:\pythonWorkspace\python\study\test.txt"
3 >>> p3 ="G:\\pythonWorkspace\\python\\study\\test.txt"

幸存一个test.txt文件,格式如下:

 1 >>> help(file.read)
 2 Help on method_descriptor:
  #参数size可选,如果没有参数,将文件的全部内容读取,如果有参数,将读取到指定的字节,然后将读取到的这些内容以字符串形式返回
 3 所读取的内容一次返回到内存中,随时可以取用,方便快捷。这种方式,如果文件特别大的时候,会使内存开销太大。
 4 read(...)
 5     read([size]) -> read at most size bytes, returned as a string. 
 6 
 7     If the size argument is negative or omitted, read until EOF is reached. 
 8     Notice that when in non-blocking mode, less data than what was requested
 9     may be returned, even if no size parameter was given.
10 
11 >>> help(file.readline)
12 Help on method_descriptor: 
13 参数(size)可选,它是以行为单位返回一个字符串,每次读取一行,依次循环往下读取,如果没有参数,则将读取到文件最后,返回空字符串,到达文件末尾。END OF FILE (EOF)
14 readline(...)
15     readline([size]) -> next line from the file, as a string.
16 
17     Retain newline.  A non-negative size argument limits the maximum
18     number of bytes to return (an incomplete line may be returned then).
19     Return an empty string at EOF.
20 
21 >>> help(file.readlines)
22 Help on method_descriptor:
23 返回以行为单位的列表,相当于执行readline, 得到每一行,然后把这一行的字符串,作为列表中的元素,再放到一个列表中,最后将列表返回。
24 readlines(...)
25     readlines([size]) -> list of strings, each a line from the file.
26 
27     Call readline() repeatedly and return a list of the lines so read.
28     The optional size argument, if given, is an approximate bound on the
29     total number of bytes in the lines returned.

方法

  f.tell() 告诉文件当前的指针地方,文件内的近来岗位

读出一行新闻,若定义了size,则读出 一行的1有个别

差别的读文件措施

w+

python 汉语件也是一种档期的顺序的对象,有属性 __iter__,表达是可迭代的

金沙客户端下载 2

  import fileinput 读取大文件时,使用 

False

    (linux/mac) /home/workspace/python

开采文件——open(‘file'[,’mode’])

with 语句 可以不写close() 

>>> os.path .exists (“C:\\”)#该路径存在True>>>
os.path .exists (“C:\\123\\”)#该路径不设有False>>> os.path
.exists (“C:\\123.txt”)#该文件不存在False>>> os.path .exists
(“C:\\test.txt”)#该文件存在True

1 >>> nf =open("G:\\pythonWorkspace\\python\\study\\test.txt","w") #打开一个文件,用w模式,写入
2 >>> nf.write("This is a new file.") #将这句话写入文件
3 >>> nf.close() #打开一个文件,写入后必须关闭掉
4 >>> nf =open("G:\\pythonWorkspace\\python\\study\\test.txt")
5 >>> for line in nf:
6 ...     print line
7 ...
8 This is a new file.

 1 >>> with open("G:\\pythonWorkspace\\python\\study\\test.txt","a") as fp:  #with open 也可以创建文件 打开文件,适用with open write后面的close()可以不写,它会自动处理
 2 ...     fp.write("\n what's your name?")
 3 ...
 4 
 5 >>> f =open("G:\\pythonWorkspace\\python\\study\\test.txt")
 6 >>> for line in f:
 7 ...     print line
 8 ...
 9 
10 
11  what's your name?
12 >>>

>>> file.name#查阅文件的名称

开荒一个文本

目录

 

[‘$Recycle.Bin’,’360ld’,’360rescue’,’360SANDBOX’,’360SysRt’,’Boot’,’bootmgr’,’BOOTSECT.BAK’,’CacheTemp’,’Documents
and
Settings’,’grldr’,’IFRToolLog.txt’,’inetpub’,’MSOCache’,’pagefile.sys’,’Program
Files’,’Program Files
(x86)’,’ProgramData’,’Python27′,’Recovery’,’RECYCLER’,’SBTDR’,’System
Volume Information’,’test.txt’,’Users’,’Windows’]

文件夹:(windows) G:\pythonWorkspace\python\study   

file.txt

写文件

获取文件描述符,是三个数字。重回三个长整型的”文件标签“

翻看属性:os.stat(filename)

f.seek(offset[,where])

p2 =r"G:\pythonWorkspace\python\study\test.txt"

1 >>> import os #引入os 模块

2 >>> os.stat(p2) #查看文件属性 3 nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0L, st_nlink=0, st_uid=0, st_gid=0, st_size=14L, st_atime=1520953379L, st_mtime=1520953401L, st_ctime=1520953379L) 4 >>>

+ View
Code

 

python中模块的引进使得对文本的操作变的很粗大略。最大旨的文件操作就是在文件中实行读写多少,在操作文件从前要开发文件。

文件和文件夹

f.read([size])

演示:读取文件

以追加方式展开文件(即壹开发文件,文件指针自动移到文件末尾),假若文件不存在则开创

  f.seek(0) 改造近来文件的地点

下边是局地大面积操作:

文件

刷新输出缓存,把缓冲区的内容写入硬盘

读、写文件

>>> file=open(‘test.txt’,’w’)>>> file.write
(‘\nwelcome’)#会将事先的内容覆盖>>> file.writelines (‘I love
python’)>>> file.close ()#关闭文件时才干收看文件内容的改造

  readline() 以行为单位读取文件,重回二个字符串,每一遍读取壹行,一遍巡回往下读取。如若未有点名参数,将读取到文件末尾。

f.isatty()

w 形式打开一个文本只用于写入。假诺该文件已存在则将其覆盖。固然该公文不设有,创立新文件

相当于dos或Linux下的cd命令

文本:文本文件、贰进制文件

读出全体行,也正是读出总体文件的新闻。(把公文每一行作为二个list的2个成员,并回到这么些list。其实它的内部是因此循环调用readline()来贯彻的。假诺提供size参数,size是代表读取内容的行程,也正是说恐怕只读到文件的一片段)

澳门金沙app下载,windows下文件路线:示例 

有关文件和目录操作的下结论,推荐博客:http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html

  readlines() 再次来到以行为单位的列表,也正是实行readline,获得每1行,然后把那壹行的字符串,作为列表的要素,最终将以此列表重返

>>> os.path .isdir(“C:\\金沙客户端下载,”)

>>> os.chdir(‘c:\\’)#将当前目录改为C盘根目录下

言语只有和外部连起来操作才会落到实处更加强有力的功力,举例操作文件、数据库等,那样数据足以有一块独立存款和储蓄的地方,而不是存放在在内部存款和储蓄器中。越来越强劲的是互连网编制程序,当然这几个后续都会学习。接下来学习python对目录和文书的操作。前边的笔记都以基础理论知识,作者以为从这里初叶大约就足以干一些事了。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图