序号 |
类名称 |
|
功能说明
|
|
语法 & 举例 |
01 |
open 函数 |
|
====<<<< Description >>>>====
用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
open (name[, mode[, buffering]]) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ name:一个包含了你要访问的文件名称的字符串值。 ◈ mode:mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。 ◈ buffering:如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。 ----------------------------------------------------------------------------------
====<<<< mode >>>>====
◈ r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。文件不存在报错。 ◈ r+:打开一个文件用于读写。文件指针将会放在文件的开头。文件不存在报错。 ◈ w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 ◈ w+:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 ◈ a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ◈ a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 ----------------------------------------------------------------------------------
====<<<< References >>>>====
参考:python文件打开方式详解——a、a+、r+、w+区别 参考:python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例)
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | arcpy.env.workspace = r "D:\01-Working\2017\20171204-IDL_Average\temp\TSM"
rs = arcpy.ListRasters()
fo = open ( "D:\\01-Working\\2017\\2017_Average\\temp\\tsm_stats.txt" , "w+" )
for r in rs:
ro = arcpy.Raster(r)
fo.writelines(ro.name + "\n" )
fo.writelines( "MAX: " + str ( round (ro.maximum, 2 )) + "\n" )
fo.writelines( "MIN: " + str ( round (ro.minimum, 2 )) + "\n" )
fo.writelines( "MEAN: " + str ( round (ro.mean, 2 )) + "\n\n" )
fo.close()
|
读入文件示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | >>> import os
>>> fo = open ( "D:\\03-Study\\Python\\test\\test.txt" , "r+" )
>>>
>>> lines = fo.read()
>>> lines
'Line 1 : aaaaaa\nLine 2 : bbbbbb\nLine 3 : cccccc\nLine
>>> print lines
Line 1 : aaaaaa
Line 2 : bbbbbb
Line 3 : cccccc
>>> fo.tell()
110L
>>>
>>> fo.seek( 0 )
>>> fo.tell()
0L
>>>
>>> lines_new = fo.readline()
>>> lines_new
'Line 1: aaaaaa\n'
>>>
>>> lines_new2 = fo.readlines()
>>> lines_new2
[ 'Line 2: bbbbbb\n' , 'Line 3: cccccc\n' ]
>>> fo.close()
|
写入文件示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | >>> fo = open ( "D:\\03-Study\\Python\\test\\test.txt" , "w+" )
>>> a = "Alex Lee"
>>> b = [ "a" , "b" , "c" ]
>>> fo.write(a)
>>> fo.write( "\n" )
>>> fo.writelines(b)
>>> for i in range ( 0 , len (b)):
... b[i] = b[i] + "\n"
...
>>> print b
[ 'a\n' , 'b\n' , 'c\n' ]
>>> fo.write( "\n" )
>>> fo.writelines(b)
>>> fo.close()
>>> fo = open ( "D:\\03-Study\\Python\\test\\test.txt" , "r+" )
>>> print fo.read()
Alex Lee
abc
a
b
c
|
|
02 |
File 对象 |
|
====<<<< Description >>>>====
file 对象使用 open 函数来创建。 ----------------------------------------------------------------------------------
====<<<< Properties >>>>====
◈ file.name:返回文件的名称。 ◈ file.mode:返回被打开文件的访问模式。 ◈ file.closed:返回true如果文件已被关闭,否则返回false。 ----------------------------------------------------------------------------------
====<<<< Methods >>>>====
◈ file.writelines (sequence):向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。 ◈ file.write (str):将字符串写入文件,没有返回值。要自己加换行符 ◈ file.truncate ([size]):用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字符。 如果没有指定 size,则从当前位置起截断;截断之后 size 后面的所有字符被删除。 ◈ file.tell ():返回文件的当前位置,即文件指针当前位置。 ◈ file.seek (offset[, whence]):用于移动文件读取指针到指定位置。 ◈ file.readlines ([sizeint]):读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。 ◈ file.readline ([size]):读取整行,包括 "\n" 字符。 ◈ file.read ([size]):从文件读取指定的字节数,如果未给定或为负则读取所有。 ◈ file.next ():返回文件下一行。 ◈ file.close ():关闭文件。关闭后文件不能再进行读写操作。 ----------------------------------------------------------------------------------
====<<<< References >>>>====
参考:python中readline判断文件读取结束的方法
|
|
03 |
rename 方法 |
|
====<<<< Description >>>>====
用于命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。(相当于移动文件) ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
os.rename (src, dst) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ src:要修改的目录名。 ◈ dst:修改后的目录名。
|
|
1 2 3 | >>> import os
>>> os.rename(r "D:\test.txt" , r "D:\test1.txt" )
>>> os.rename(r "D:\test1.txt" , r "D:\test2.txt" )
|
|
04 |
remove 方法 |
|
====<<<< Description >>>>====
用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
os.remove (path) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ path:要移除的文件路径。
参考:python 删除文件、目录(shutil.rmtree())
|
|
1 2 3 4 5 6 | import os
rootdir = r "D:\tmp\tmp"
for file in os.listdir(rootdir):
if file .find( "hdf" ) > 0 :
os.remove(os.path.join(rootdir, file ))
|
|
05 |
mkdir 方法 |
|
====<<<< Description >>>>====
用于以数字权限模式创建目录。默认的模式为 0777 (八进制)。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
os.mkdir (path[, mode]) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ path:要创建的目录。 ◈ mode:要为目录设置的权限数字模式。
|
|
1 2 | >>> import os
>>> os.mkdir(r "D:\folder" )
|
|
|
makedirs 方法 |
|
====<<<< Description >>>>====
os.makedirs() 方法用于递归创建目录。像 mkdir(), 但创建的所有intermediate-level文件夹需要包含子目录。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
os.makedirs (path[, mode]) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ path:要创建的目录。 ◈ mode:要为目录设置的权限数字模式。
|
|
|
06 |
chdir 方法 |
|
====<<<< Description >>>>====
用于改变当前工作目录到指定的路径。(工作空间修改) ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
os.chdir (path) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ path:要切换到的新路径。
|
|
1 2 3 4 5 | >>> import os
>>> print os.getcwd()
D:\ 01 - Working\ 2018 \ 20180115 - 浓烟专题图
>>> os.chdir(r "D:\03-Study\Python\test" )
>>> os.rmdir( "folder" )
|
|
07 |
getcwd 方法 |
|
====<<<< Description >>>>====
用于返回当前工作目录。(import sys) ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
os.getcwd ()
|
|
08 |
rmdir 方法 |
|
====<<<< Description >>>>====
用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
os.rmdir (path) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ path:要删除的目录路径。
|
|
09 |
listdir 方法 |
|
====<<<< Description >>>>====
用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.' 和'..' 即使它在文件夹中。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
os.listdir (path) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ path:需要列出的目录路径。
|
|
1 2 3 | >>> import os
>>> print os.listdir(r "D:\test" )
[ '11.txt' , 'cnblog1.txt' , 'frame.ui' ]
|
|
10 |
input 方法 |
|
====<<<< Description >>>>====
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。 Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。 raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。
注意:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。 除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>===
input ([prompt]) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ prompt:可选,字符串,可作为一个提示语。
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | >>> a = input ( "input:" )
input : 123
>>> type (a)
< type 'int' >
>>> a
123
>>> a = input ( "input:" )
input : "alex"
>>> a
'alex'
>>> a = input ( "input:" )
input :alex
Traceback (most recent call last):
File "<pyshell#23>" , line 1 , in <module>
a = input ( "input:" )
File "<string>" , line 1 , in <module>
NameError: name 'alex' is not defined
|
|
11 |
raw_input 方法 |
|
====<<<< Description >>>>====
用来获取控制台的输入。 将所有输入作为字符串看待,返回字符串类型。 ----------------------------------------------------------------------------------
====<<<< Syntax >>>>====
raw_input ([prompt]) ----------------------------------------------------------------------------------
====<<<< Parameters >>>>====
◈ prompt:可选,字符串,可作为一个提示语。
|
|
1 2 3 4 5 6 7 8 9 10 | >>> a = raw_input ( "input:" )
input : 123
>>> type (a)
< type 'str' >
>>> a
'123'
>>> a = raw_input ( "input:" )
input :alex
>>> a
'alex'
|
|
|
|
|
1 | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2016-01-13 【197】PowerShell 通过 FTP 下载文件