165 lines
No EOL
11 KiB
HTML
165 lines
No EOL
11 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="tool" content="leanote-desktop-app">
|
||
<title>Python:文件的读取、创建、追加、删除、清空</title>
|
||
<style>
|
||
|
||
*{font-family:"lucida grande","lucida sans unicode",lucida,helvetica,"Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;}
|
||
|
||
body {
|
||
margin: 0;
|
||
}
|
||
|
||
/*公用文字样式*/
|
||
h1{font-size:30px}h2{font-size:24px}h3{font-size:18px}h4{font-size:14px}
|
||
.note-container{
|
||
width:850px;
|
||
margin:auto;
|
||
padding: 10px 20px;
|
||
box-shadow: 1px 1px 10px #eee;
|
||
}
|
||
#title {
|
||
margin: 0;
|
||
}
|
||
table {
|
||
margin-bottom: 16px;
|
||
border-collapse: collapse;
|
||
}
|
||
table th, table td {
|
||
padding: 6px 13px;
|
||
border: 1px solid #ddd;
|
||
}
|
||
table th {
|
||
font-weight: bold;
|
||
}
|
||
|
||
table tr {
|
||
background-color: none;
|
||
border-top: 1px solid #ccc;
|
||
}
|
||
table tr:nth-child(2n) {
|
||
background-color: rgb(247, 247, 249);
|
||
}
|
||
.mce-item-table, .mce-item-table td, .mce-item-table th, .mce-item-table caption {
|
||
border: 1px solid #ddd;
|
||
border-collapse: collapse;
|
||
padding: 6px 13px;
|
||
}
|
||
blockquote {
|
||
border-left-width:10px;
|
||
background-color:rgba(128,128,128,0.05);
|
||
border-top-right-radius:5px;
|
||
border-bottom-right-radius:5px;
|
||
padding:15px 20px;
|
||
border-left:5px solid rgba(128,128,128,0.075);
|
||
}
|
||
blockquote p {
|
||
margin-bottom:1.1em;
|
||
font-size:1em;
|
||
line-height:1.45
|
||
}
|
||
blockquote ul:last-child,blockquote ol:last-child {
|
||
margin-bottom:0
|
||
}
|
||
pre {
|
||
padding: 18px;
|
||
background-color: #f7f7f9;
|
||
border: 1px solid #e1e1e8;
|
||
border-radius: 3px;
|
||
display: block;
|
||
}
|
||
code {
|
||
padding: 2px 4px;
|
||
font-size: 90%;
|
||
color: #c7254e;
|
||
white-space: nowrap;
|
||
background-color: #f9f2f4;
|
||
border-radius: 4px;
|
||
}
|
||
.footnote {
|
||
vertical-align: top;
|
||
position: relative;
|
||
top: -0.5em;
|
||
font-size: .8em;
|
||
}
|
||
|
||
hr {
|
||
margin:2em 0
|
||
}
|
||
img {
|
||
max-width:100%
|
||
}
|
||
pre {
|
||
word-break:break-word
|
||
}
|
||
p,pre,pre.prettyprint,blockquote {
|
||
margin:0 0 1.1em
|
||
}
|
||
hr {
|
||
margin:2em 0
|
||
}
|
||
img {
|
||
max-width:100%
|
||
}
|
||
.sequence-diagram,.flow-chart {
|
||
text-align:center;
|
||
margin-bottom:1.1em
|
||
}
|
||
.sequence-diagram text,.flow-chart text {
|
||
font-size:15px !important;
|
||
font-family:"Source Sans Pro",sans-serif !important
|
||
}
|
||
.sequence-diagram [fill="#ffffff"],.flow-chart [fill="#ffffff"] {
|
||
fill:#f6f6f6
|
||
}
|
||
.sequence-diagram [stroke="#000000"],.flow-chart [stroke="#000000"] {
|
||
stroke:#3f3f3f
|
||
}
|
||
.sequence-diagram text[stroke="#000000"],.flow-chart text[stroke="#000000"] {
|
||
stroke:none
|
||
}
|
||
.sequence-diagram [fill="#000"],.flow-chart [fill="#000"],.sequence-diagram [fill="#000000"],.flow-chart [fill="#000000"],.sequence-diagram [fill="black"],.flow-chart [fill="black"] {
|
||
fill:#3f3f3f
|
||
}
|
||
ul,ol {
|
||
margin-bottom:1.1em
|
||
}
|
||
ul ul,ol ul,ul ol,ol ol {
|
||
margin-bottom:1.1em
|
||
}
|
||
kbd {
|
||
padding:.1em .6em;
|
||
border:1px solid rgba(63,63,63,0.25);
|
||
-webkit-box-shadow:0 1px 0 rgba(63,63,63,0.25);
|
||
box-shadow:0 1px 0 rgba(63,63,63,0.25);
|
||
font-size:.7em;
|
||
font-family:sans-serif;
|
||
background-color:#fff;
|
||
color:#333;
|
||
border-radius:3px;
|
||
display:inline-block;
|
||
margin:0 .1em;
|
||
white-space:nowrap
|
||
}
|
||
.toc ul {
|
||
list-style-type:none;
|
||
margin-bottom:15px
|
||
}
|
||
</style>
|
||
<!-- 该css供自定义样式 -->
|
||
<link href="../leanote-html.css" rel="stylesheet">
|
||
</head>
|
||
|
||
<body>
|
||
|
||
<div class="note-container">
|
||
<h1 class="title" id="leanote-title">Python:文件的读取、创建、追加、删除、清空</h1>
|
||
<div class="content-html" id="leanote-content"><div>一、用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行:</div><div>#python</div><div>>>>f=open('f.txt','w') # r只读,w可写,a追加</div><div>>>>for i in range(0,10):f.write(str(i)+'\n')</div><div>. . .</div><div>>>> f.close()</div><div>二、文件内容追加,从0到9的10个随机整数:</div><div>#python</div><div>>>>import random</div><div>>>>f=open('f.txt','a')</div><div>>>>for i in range(0,10):f.write(str(random.randint(0,9)))</div><div>. . .</div><div>>>>f.write('\n')</div><div>>>>f.close()</div><div>三、文件内容追加,从0到9的随机整数, 10个数字一行,共10行:</div><div>#python</div><div>>>> import random</div><div>>>> f=open('f.txt','a')</div><div>>>> for i in range(0,10):</div><div>. . . for i in range(0,10):f.write(str(random.randint(0,9))) </div><div>. . . f.write('\n') </div><div>. . .</div><div>>>> f.close()</div><div>四、把标准输出定向到文件:</div><div>#python</div><div>>>> import sys</div><div>>>> sys.stdout = open("stdout.txt", "w")</div><div>>>> . . .</div><div> </div><div>五、文件的读写</div><div>一、文件打开:</div><div>f = file(name[, mode[, buffering]])</div><div>入口参数: name 文件名</div><div> mode 选项,字符串</div><div> buffering 是否缓冲 (0=不缓冲,1=缓冲, >1的int数=缓冲区大小)</div><div>返回值 : 文件对象</div><div>mode 选项:</div><div>"r" 以读方式打开,只能读文件 , 如果文件不存在,会发生异常 </div><div>"w" 以写方式打开,只能写文件, 如果文件不存在,创建该文件</div><div> 如果文件已存在,先清空,再打开文件</div><div>"rb" 以二进制读方式打开,只能读文件 , 如果文件不存在,会发生异常 </div><div>"wb" 以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件</div><div> 如果文件已存在,先清空,再打开文件</div><div>"rt" 以文本读方式打开,只能读文件 , 如果文件不存在,会发生异常 </div><div>"wt" 以文本写方式打开,只能写文件, 如果文件不存在,创建该文件</div><div> 如果文件已存在,先清空,再打开文件</div><div>"rb+" 以二进制读方式打开,可以读、写文件 , 如果文件不存在,会发生异常 </div><div>"wb+" 以二进制写方式打开,可以读、写文件, 如果文件不存在,创建该文件</div><div> 如果文件已存在,先清空,再打开文件</div><div>二、关闭文件</div><div>f.close()</div><div>当文件读写完毕后,应关闭文件。</div><div>三、清空文件内容</div><div>f.truncate()</div><div>注意:仅当以 "r+" "rb+" "w" "wb" "wb+"等以可写模式打开的文件才可以执行该功能。</div><div>四、文件的指针定位与查询</div><div>(1)文件指针:</div><div> 文件被打开后,其对象保存在 f 中, 它会记住文件的当前位置,以便于执行读、写操作,这个位置称为文件的指针( 一个从文件头部开始计算的字节数 long 类型 )。</div><div>(2)文件打开时的位置:</div><div> 以"r" "r+" "rb+" 读方式, "w" "w+" "wb+"写方式 打开的文件,</div><div> 一开始,文件指针均指向文件的头部。</div><div>(3) 获取文件指针的值:</div><div> L = f.tell()</div><div>(4) 移动文件的指针</div><div> f.seek( 偏移量, 选项 )</div><div> 选项 =0 时, 表示将文件指针指向从文件头部到 "偏移量"字节处。</div><div> 选项 =1 时, 表示将文件指针指向从文件的当前位置,向后移动 "偏移量"字节。</div><div> 选项 =2 时, 表示将文件指针指向从文件的尾部,,向前移动 "偏移量"字节。</div><div>五、从文件读取指内容 </div><div>1 文本文件(以"rt"方式打开的文件)的读取 </div><div> s = f.readline( )</div><div> 返回值: s 是字符串,从文件中读取的一行,含行结束符。</div><div> 说明: (1) 如果 len( s ) =0 表示已到文件尾</div><div> (2) 如果是文件的最后一行,有可能没有行结束符</div><div>2 二进制文件(以"rb"、"rb+"、"wb+" 方式打开的文件)的读取 </div><div> s = f.read( n )</div><div> </div><div> 说明: (1) 如果 len( s ) =0 表示已到文件尾</div><div> (2) 文件读取后,文件的指针向后移动 len(s) 字节。</div><div> (3)如果磁道已坏,会发生异常。</div><div>六、向文件写入一个字符串 </div><div> f.write( s )</div><div> 参数: s 要写入的字符串</div><div> 说明: (1)文件写入后,文件的指针向后移动 len(s) 字节。</div><div> (2)如果磁道已坏,或磁盘已满会发生异常。</div><div> </div><div>返回值: s 是字符串,从文件中读取的内容</div><div>七、删除文件</div><div>import os</div><div>os.remove(file)</div></div>
|
||
</div>
|
||
|
||
<!-- 该js供其它处理 -->
|
||
<script src="../leanote-html.js"></script>
|
||
</body>
|
||
</html> |