<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>海盗船长 &#187; python</title>
	<atom:link href="http://www.1986x.net/develop/py/feed" rel="self" type="application/rss+xml" />
	<link>http://www.1986x.net</link>
	<description>博客开始运行在Debian+apache 上</description>
	<lastBuildDate>Fri, 30 Jul 2010 04:12:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>一个不错的python学习网站</title>
		<link>http://www.1986x.net/archives/2626.html</link>
		<comments>http://www.1986x.net/archives/2626.html#comments</comments>
		<pubDate>Fri, 30 Jul 2010 04:11:21 +0000</pubDate>
		<dc:creator>海盗船长</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.1986x.net/?p=2626</guid>
		<description><![CDATA[最近很忙，其实也不知道忙什么  每天就那样迷迷糊糊的过啦    估计google都快把我忘啦 今天不多说啦   直接上网址 老王python-每天更新一篇python教程 相关文章2010年04月6日 -- 用Python操作Mysql2010年03月29日 -- Django 结构及处理流程分析2010年03月22日 -- ubuntu环境下python+apache2+mod_python部署django2009年09月2日 -- python脚本中的#!/usr/bin/python2009年08月5日 -- Python文件操作 打开,读取,关闭]]></description>
			<content:encoded><![CDATA[<p>最近很忙，其实也不知道忙什么  每天就那样迷迷糊糊的过啦    估计google都快把我忘啦</p>
<p>今天不多说啦   直接上网址</p>
<h1 id="BlogTitle"><a href="http://www.cnpythoner.com/">老王python-每天更新一篇python教程</a></h1>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2010年04月6日 -- <a href="http://www.1986x.net/archives/2519.html" title="用Python操作Mysql">用Python操作Mysql</a></li><li>2010年03月29日 -- <a href="http://www.1986x.net/archives/2502.html" title="Django 结构及处理流程分析">Django 结构及处理流程分析</a></li><li>2010年03月22日 -- <a href="http://www.1986x.net/archives/2471.html" title="ubuntu环境下python+apache2+mod_python部署django">ubuntu环境下python+apache2+mod_python部署django</a></li><li>2009年09月2日 -- <a href="http://www.1986x.net/archives/1879.html" title="python脚本中的#!/usr/bin/python">python脚本中的#!/usr/bin/python</a></li><li>2009年08月5日 -- <a href="http://www.1986x.net/archives/1720.html" title="Python文件操作 打开,读取,关闭">Python文件操作 打开,读取,关闭</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.1986x.net/archives/2626.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ubuntu环境下python+apache2+mod_python部署django</title>
		<link>http://www.1986x.net/archives/2471.html</link>
		<comments>http://www.1986x.net/archives/2471.html#comments</comments>
		<pubDate>Mon, 22 Mar 2010 12:01:57 +0000</pubDate>
		<dc:creator>海盗船长</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[mod_python]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.1986x.net/?p=2471</guid>
		<description><![CDATA[刚买了vps，之前整的django只是用runserver，今天打算整一下ubuntu下的django环境，主要是django安装基本上都是集成。 一、Django安装 在django网站：http://www.djangoproject.com/download/ 下载django程序在任何你可以操作的地方放着 wget -c http://www.djangoproject.com/download/1.1.1/tarball/（找个最新版的自己下吧！） 解压，安装 1 2 3 tar xzvf Django-1.1.1.tar.gz cd Django-1.1.1 sudo python setup.py install django自己安转到python的目录下 网上有人测试是否安转好，我觉得不错，借用下 在Shell命令行中输入 python (回车) 1 &#62;&#62;import django (回车) 只要不报错就证明ok了，挺好的方法，这个证明django实际上就是python的一个包，Django实际文件存在于 /usr/lib/python2.5/site-packages/django。 接着我们开始创建项目，暂时取名djangotest，缺省apache2的文档根目录是/var/www， 1 cd /var/www Django安装成功后，会自动在/usr/bin中建立一个django-admin.py，这个文件很重要，用来生成工程文件 1 python /usr/bin/django-admin.py startproject webanalytics 好了 1 2 cd djangotest ls 应该能看到这些文件，那就成功了 1 2 3 4 __inti__.py manage.py settings.py [...]]]></description>
			<content:encoded><![CDATA[<p>刚买了vps，之前整的django只是用runserver，今天打算整一下ubuntu下的django环境，主要是django安装基本上都是集成。</p>
<p><strong>一、Django安装</strong></p>
<p>在django网站：<a href="http://www.djangoproject.com/download/">http://www.djangoproject.com/download/</a> 下载django程序在任何你可以操作的地方放着</p>
<p>wget -c <a href="http://www.djangoproject.com/download/1.1.1/tarball/">http://www.djangoproject.com/download/1.1.1/tarball/</a>（找个最新版的自己下吧！）</p>
<p>解压，安装</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> xzvf Django-1.1.1.tar.gz
<span style="color: #7a0874; font-weight: bold;">cd</span> Django-1.1.1
<span style="color: #c20cb9; font-weight: bold;">sudo</span> python setup.py <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<p>django自己安转到python的目录下</p>
<p>网上有人测试是否安转好，我觉得不错，借用下</p>
<p>在Shell命令行中输入</p>
<p>python (回车)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;&gt;</span>import django</pre></td></tr></table></div>

<p>(回车)</p>
<p>只要不报错就证明ok了，挺好的方法，这个证明django实际上就是python的一个包，Django实际文件存在于<br />
/usr/lib/python2.5/site-packages/django。</p>
<p>接着我们开始创建项目，暂时取名djangotest，缺省apache2的文档根目录是/var/www，</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www</pre></td></tr></table></div>

<p>Django安装成功后，会自动在/usr/bin中建立一个django-admin.py，这个文件很重要，用来生成工程文件</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">python <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>django-admin.py startproject webanalytics</pre></td></tr></table></div>

<p>好了</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> djangotest
<span style="color: #c20cb9; font-weight: bold;">ls</span></pre></td></tr></table></div>

<p>应该能看到这些文件，那就成功了</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">__inti__.py
manage.py
settings.py
uls.py</pre></td></tr></table></div>

<p>到此处基本上一半成功了，接下来就apache的安装</p>
<p>有人说现在可以测试一下，</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> python manage.py runserver</pre></td></tr></table></div>

<p>基本上没有问题的话会有下面的信息</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">Validating models...
<span style="color: #000000;">0</span> errors found.
&nbsp;
Django version 0.96.3, using settings <span style="color: #ff0000;">'webanalytics.settings'</span>
Development server is running at http:<span style="color: #000000; font-weight: bold;">//</span>127.0.0.1:<span style="color: #000000;">8000</span><span style="color: #000000; font-weight: bold;">/</span>
Quit the server with CONTROL-C.</pre></td></tr></table></div>

<p>如果你有图形界面那你就试试，<a href="http://127.0.0.1:8000/">http://127.0.0.1:8000/</a> 应该会有出来一个django的页面，哈哈！如果你没有追求了，那现在就可以试着写django的代码。完全可以运行</p>
<p>但是我是在虚拟机上用的服务器版，那就没有办法了</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">apache mod_python安装
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> apache2
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> libapache2-mod-python2.5</pre></td></tr></table></div>

<p>（python的版本不同的话就修改最后边的版本号），现在基本上就支持到apache2.2 python2.5（ps 貌似mod_python已经属于apache，忘记了）</p>
<p>接下来就是这个配置</p>
<p>现在整整apache与django</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apach2<span style="color: #000000; font-weight: bold;">/</span>site-available<span style="color: #000000; font-weight: bold;">/</span>default</pre></td></tr></table></div>

<p>加入这个代码</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">Directory <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www;
SetHandler python-program
PythonPath <span style="color: #ff0000;">&quot;['/var/www'] + sys.path&quot;</span>
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE webanalytics.settings
PythonDebug On
<span style="color: #000000; font-weight: bold;">&amp;</span>lt;<span style="color: #000000; font-weight: bold;">/</span>Directory<span style="color: #000000; font-weight: bold;">&amp;</span>gt;</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">a2ensite webanalytics  开启网站
a2enmod mod_python</pre></td></tr></table></div>

<p>保存，重启apache，</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 restart</pre></td></tr></table></div>

<p>打开浏览器看看，很兴奋的页面出来了<br />
<div id="attachment_2485" class="wp-caption alignnone" style="width: 310px"><a href="http://www.1986x.net/wp-content/uploads/2010/03/ubuntu-django.png" rel="shadowbox[post-2471];player=img;"><img src="http://www.1986x.net/wp-content/uploads/2010/03/ubuntu-django-300x169.png" alt="python+apache2+mod_python部署django" title="ubuntu-django" width="300" height="169" class="size-medium wp-image-2485" /></a><p class="wp-caption-text">python+apache2+mod_python</p></div><br />
测试网址：http://www.chinawebanalytics.net/</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2010年03月29日 -- <a href="http://www.1986x.net/archives/2502.html" title="Django 结构及处理流程分析">Django 结构及处理流程分析</a></li><li>2010年07月30日 -- <a href="http://www.1986x.net/archives/2626.html" title="一个不错的python学习网站">一个不错的python学习网站</a></li><li>2010年04月6日 -- <a href="http://www.1986x.net/archives/2519.html" title="用Python操作Mysql">用Python操作Mysql</a></li><li>2010年04月1日 -- <a href="http://www.1986x.net/archives/2511.html" title="Ubuntu系统网络应用服务器Apache配置基础">Ubuntu系统网络应用服务器Apache配置基础</a></li><li>2010年03月31日 -- <a href="http://www.1986x.net/archives/2507.html" title="Ubuntu下Postgresql-8.4安装及配置">Ubuntu下Postgresql-8.4安装及配置</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.1986x.net/archives/2471.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>python脚本中的#!/usr/bin/python</title>
		<link>http://www.1986x.net/archives/1879.html</link>
		<comments>http://www.1986x.net/archives/1879.html#comments</comments>
		<pubDate>Wed, 02 Sep 2009 17:09:22 +0000</pubDate>
		<dc:creator>海盗船长</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.1986x.net/?p=1879</guid>
		<description><![CDATA[估计有不少人注意过一些python脚本开头有这么行东东：
#!/usr/bin/python
它是用来干嘛的？貌似没有它对脚本功能也没啥影响。它是用来指定用什么解释器运行脚本以及解释器所在的位置。]]></description>
			<content:encoded><![CDATA[<p>估计有不少人注意过一些python脚本开头有这么行东东：<br />
<strong>#!/usr/bin/python</strong><br />
它是用来干嘛的？貌似没有它对脚本功能也没啥影响。它是用来指定用什么解释器运行脚本以及解释器所在的位置。</p>
<p>以test.py为例，脚本内容如下：</p>
<p>def test():<br />
print &#8216;hello, world&#8217;</p>
<p>if __name__ == &#8220;__main__&#8221;:<br />
test()</p>
<p>运行脚本:<br />
python test.py<br />
输出：<br />
hello, world</p>
<p>换一种方法运行：<br />
./test.py<br />
会提示出错，文件无可执行权限：<br />
-bash: ./test.py: Permission denied</p>
<p>将文件设为可执行：<br />
chmod +x test.py<br />
继续运行：<br />
./test.py<br />
提示：<br />
./test.py: line 1: syntax error near unexpected token `(&#8216;<br />
./test.py: line 1: `def test():&#8217;<br />
那是因为系统默认该脚本是shell脚本，把它当shell语句执行，当然失败了。</p>
<p>在前面加上<br />
#!/usr/bin/python<br />
申明l这是个python脚本，要用python解释器来运行：<br />
./test.py<br />
输出：<br />
hello, world</p>
<p>这个东东常用在cgi脚本中，apache启动cgi脚本时就靠它来知道这是个python脚本，执行它需要的python解释器路径在哪里。<br />
有时候写 #!/usr/bin/python 还是不行，很简单，因为python解释器没有装在/usr/bin/目录，改成其所在目录就行了，或者更通用的方法是：<br />
#!/usr/bin/env python</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2010年07月30日 -- <a href="http://www.1986x.net/archives/2626.html" title="一个不错的python学习网站">一个不错的python学习网站</a></li><li>2010年04月6日 -- <a href="http://www.1986x.net/archives/2519.html" title="用Python操作Mysql">用Python操作Mysql</a></li><li>2010年03月29日 -- <a href="http://www.1986x.net/archives/2502.html" title="Django 结构及处理流程分析">Django 结构及处理流程分析</a></li><li>2010年03月22日 -- <a href="http://www.1986x.net/archives/2471.html" title="ubuntu环境下python+apache2+mod_python部署django">ubuntu环境下python+apache2+mod_python部署django</a></li><li>2009年08月5日 -- <a href="http://www.1986x.net/archives/1720.html" title="Python文件操作 打开,读取,关闭">Python文件操作 打开,读取,关闭</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.1986x.net/archives/1879.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python文件操作 打开,读取,关闭</title>
		<link>http://www.1986x.net/archives/1720.html</link>
		<comments>http://www.1986x.net/archives/1720.html#comments</comments>
		<pubDate>Wed, 05 Aug 2009 09:16:26 +0000</pubDate>
		<dc:creator>海盗船长</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[python模块]]></category>

		<guid isPermaLink="false">http://www.1986x.net/?p=1720</guid>
		<description><![CDATA[Python文件操作 打开,读取,关闭操作]]></description>
			<content:encoded><![CDATA[<p>1.打开文件代码如下：<br />
&gt;&gt;&gt; f = open(”d:test.txt”, “w”)</p>
<p>说明：第一个参数是文件名称，包括路径；第二个参数是打开的模式mode’r&#8217;：只读（缺省。如果文件不存在，则抛出错误）’w&#8217;：只写（如果文件 不存在，则自动创建文件）’a&#8217;：附加到文件末尾’r+’：读写如果需要以二进制方式打开文件，需要在mode后面加上字符”b”，比如”rb”&#8221;wb” 等<br />
<span id="more-1720"></span><br />
2.读取内容f.read(size)参数size表示读取的数量，可以省略。如果省略size参数，则表示读取文件所有内容。 f.readline()读取文件一行的内容f.readlines()读取所有的行到数组里面[line1,line2,...lineN]。在避免将 所有文件内容加载到内存中，这种方法常常使用，便于提高效率。</p>
<p>3.写入文件f.write(string) 将一个字符串写入文件，如果写入结束，必须在字符串后面加上”n”，然后f.close()关闭文件</p>
<p>4.文件中的内容定位f.read()读取之后，文件指针到达文件的末尾，如果再来一次f.read()将会发现读取的是空内容，如果想再次读取全部内容，必须将定位指针移动到文件开始：<br />
f.seek(0)这个函数的格式如下（单位是bytes）：f.seek(offset, from_what)from_what表示开始读取的位置，offset表示从from_what再移动一定量的距离，比如f.seek(10, 3)表示定位到第三个字符并再后移10个字符。from_what值为0时表示文件的开始，它也可以省略，缺省是0即文件开头。下面给出一个完整的例 子：&gt;&gt;&gt; f = open(’/tmp/workfile’, ‘r+’)<br />
&gt;&gt;&gt; f.write(’0123456789abcdef’)<br />
&gt;&gt;&gt; f.seek(5) # Go to the 6th byte in the file<br />
&gt;&gt;&gt; f.read(1)<br />
‘5′<br />
&gt;&gt;&gt; f.seek (-3, 2) # Go to the 3rd byte before the end<br />
&gt;&gt;&gt; f.read(1)<br />
‘d’</p>
<p>5.关闭文件释放资源文件操作完毕，一定要记得关闭文件f.close()，可以释放资源供其他程序使用</p>
<p>#打开文件和进行写操作<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
f=open(’test.txt’,&#8217;w’)<br />
f.write(’hello’)<br />
f.writelines(['hi','haha'])#多行输入<br />
f.close()<br />
#append data<br />
f=open(’test.txt’,&#8217;a’)<br />
f.write(’hello’)<br />
f.writelines(['hi','haha'])<br />
f.close()<br />
#连续写入后会自动关闭<br />
open(’test.txt’,&#8217;a’).write(’11111rn’)<br />
#把result里的元素依次填到open函数里去<br />
result={’hello’,&#8217;u’}<br />
exec open(’test.txt’) in result<br />
#<br />
selected = [] # temp list to hold matches<br />
fp = open(’test.txt’)<br />
for line in fp.readlines(): # Py2.2 -&gt; “for line in fp:”<br />
selected.append(line)<br />
del line # Cleanup transient variable<br />
#<br />
open(’test.txt’).readlines()<br />
file在python是一个特殊的类型，它用于在python程序中对外部的文件进行操作。在python中一切都是对象，file也不例外，file有file的方法和属性。下面先来看如何创建一个file对象：</p>
<p>* file(name[, mode[, buffering]])</p>
<p>file()函数用于创建一个file对象，它有一个别名叫open()，可能更形象一些，它们是内置函数。来看看它的参数。它参数都是以字符串的形式传递的。<br />
name是文件的名字。<br />
mode 是打开的模式，可选的值为r w a U，分别代表读（默认） 写 添加支持各种换行符的模式。用w或a模式打开文件的话，如果文件不存在，那么就自动创建。此外，用w模式打开一个已经存在的文件时，原有文件的内容会被清 空，因为一开始文件的操作的标记是在文件的开头的，这时候进行写操作，无疑会把原有的内容给抹掉。由于历史的原因，换行符在不同的系统中有不同模式，比如 在 unix中是一个n，而在windows中是’rn’，用U模式打开文件，就是支持所有的换行模式，也就说’r’ ‘n’ ‘rn’都可表示换行，会有一个tuple用来存贮这个文件中用到过的换行符。不过，虽说换行有多种模式，读到python中统一用n代替。在模式 字符的后面，还可以加上+ b t这两种标识，分别表示可以对文件同时进行读写操作和用二进制模式、文本模式（默认）打开文件。<br />
buffering如果为0表示不进行缓冲;如果为1表示进行”行缓冲”;如果是一个大于1的数表示缓冲区的大小，应该是以字节为单位的。</p>
<p>file对象有自己的属性和方法。先来看看file的属性。<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
closed #标记文件是否已经关闭，由close()改写<br />
encoding #文件编码<br />
mode #打开模式<br />
name #文件名<br />
newlines #文件中用到的换行模式，是一个tuple<br />
softspace #boolean型，一般为0，据说用于print</p>
<p>file的读写方法：<br />
* F.read([size]) #size为读取的长度，以byte为单位<br />
* F.readline([size])<br />
#读一行，如果定义了size，有可能返回的只是一行的一部分<br />
* F.readlines([size])<br />
#把文件每一行作为一个list的一个成员，并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数，size是表示读取内容的总长，也就是说可能只读到文件的一部分。<br />
* F.write(str)<br />
#把str写到文件中，write()并不会在str后加上一个换行符<br />
* F.writelines(seq)<br />
#把seq的内容全部写到文件中。这个函数也只是忠实地写入，不会在每行后面加上任何东西。</p>
<p>file的其他方法：</p>
<p>* F.close()<br />
#关闭文件。python会在一个文件不用后自动关闭文件，不过这一功能没有保证，最好还是养成自己关闭的习惯。如果一个文件在关闭后还对其进行操作会产生ValueError<br />
* F.flush()<br />
#把缓冲区的内容写入硬盘<br />
* F.fileno()<br />
#返回一个长整型的”文件标签”<br />
* F.isatty()<br />
#文件是否是一个终端设备文件（unix系统中的）<br />
* F.tell()<br />
#返回文件操作标记的当前位置，以文件的开头为原点<br />
* F.next()<br />
#返回下一行，并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时，就是调用next()函数来实现遍历的。<br />
* F.seek(offset[,whence])<br />
# 将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的，一般为正数。但如果提供了whence参数就不一定了， whence可以为0表示从头开始计算，1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意，如果文件以a或a+的模式打开，每次进 行写操作时，文件操作标记会自动返回到文件末尾。<br />
* F.truncate([size])<br />
#把文件裁成规定的大小，默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大，依据系统的不同可能是不改变文件，也可能是用0把文件补到相应的大小，也可能是以一些随机的内容加上去。</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2009年08月5日 -- <a href="http://www.1986x.net/archives/1717.html" title="python模块之os和os.path模块">python模块之os和os.path模块</a></li><li>2010年07月30日 -- <a href="http://www.1986x.net/archives/2626.html" title="一个不错的python学习网站">一个不错的python学习网站</a></li><li>2010年04月6日 -- <a href="http://www.1986x.net/archives/2519.html" title="用Python操作Mysql">用Python操作Mysql</a></li><li>2010年03月29日 -- <a href="http://www.1986x.net/archives/2502.html" title="Django 结构及处理流程分析">Django 结构及处理流程分析</a></li><li>2010年03月22日 -- <a href="http://www.1986x.net/archives/2471.html" title="ubuntu环境下python+apache2+mod_python部署django">ubuntu环境下python+apache2+mod_python部署django</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.1986x.net/archives/1720.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>python模块之os和os.path模块</title>
		<link>http://www.1986x.net/archives/1717.html</link>
		<comments>http://www.1986x.net/archives/1717.html#comments</comments>
		<pubDate>Wed, 05 Aug 2009 09:09:03 +0000</pubDate>
		<dc:creator>海盗船长</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[os模块]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[python模块]]></category>

		<guid isPermaLink="false">http://www.1986x.net/?p=1717</guid>
		<description><![CDATA[python模块之os和os.path模块，感觉这的很不错刚才利用OS模块把目录给列出了]]></description>
			<content:encoded><![CDATA[<p>python模块之os和os.path模块，感觉这的很不错刚才利用OS模块把目录给列出了，过段时间把代码贴出来  哈<br />
os和os.path模块<br />
os.listdir(dirname)：列出dirname下的目录和文件<br />
os.getcwd()函数得到当前工作目录，即当前Python脚本工作的目录路径。<br />
os.getenv()和os.putenv()函数分别用来读取和设置环境变量。<br />
os.curdir:返回但前目录（&#8217;.')<br />
<span id="more-1717"></span><br />
os.chdir(dirname):改变工作目录到dirname<br />
os.sep 可以取代操作系统特定的路径分割符。<br />
os.name字符串指示你正在使用的平台。比如对于Windows，它是&#8217;nt&#8217;，而对于Linux/Unix用户，它是&#8217;posix&#8217;。<br />
os.remove()函数用来删除一个文件。<br />
os.system()函数用来运行shell命令。<br />
os.linesep字符串给出当前平台使用的行终止符。例如，Windows使用&#8217;\r\n&#8217;，Linux使用&#8217;\n&#8217;而Mac使用&#8217;\r&#8217;</p>
<p>os.makedirs(dirname)创建多级目录,如:os.makedirs(&#8216;/data/cc/ll/xx/zz&#8217;)<br />
os.mkdir(path) 创建多级目录<br />
os.rmdir(path) # 删除目录 如:WIN: os.rmdir(&#8216;E:\\book\\temp&#8217;) LINUX: os.rmdir(&#8216;/data/cc&#8217;)<br />
文件拷贝还可用shutil<br />
import shutil<br />
shutil.copyfile(&#8216;listfile.py&#8217;, &#8216;d:/test.py&#8217;) #复制文件<br />
shutil.copystat(src,dst) #拷贝文件，连同文件的stat一起拷贝<br />
shutil.copytree(src,dst) #拷贝目录，拷贝之前dst必须不存在</p>
<p>更多关于shutil的介绍请看<a href="http://blog.alexa-pro.cn/?p=435">python模块之&#8212;-shutil模块</a><br />
os.path.isdir(name):判断name是不是一个目录，name不是目录就返回false<br />
os.path.isfile(name):判断name是不是一个文件，不存在name也返回false<br />
os.path.exists(name):判断是否存在文件或目录name<br />
os.path.abspath(name):获得绝对路径<br />
os.path.normpath(path):规范path字符串形式<br />
os.path.split(name):分割文件名与目录（事实上，如果你完全使用目录，它也会将最后一个目录作为文件名而分离，同时它不会判断文件或目录是否存在）<br />
os.path.splitext():分离文件名与扩展名<br />
os.path.join(path,name):连接目录与文件名或目录<br />
os.path.basename(path):返回文件名<br />
os.path.dirname(path):返回文件路径</p>
<p>os.path.getsize(name):获得文件大小（字节大小）如果name是目录返回0L<br />
os.path.getctime(path) 返回浮点数的系统时间，在类Unix系统上是文件最近更改的时间， 在Windows上是文件或目录的创建时间<br />
os.path.getmtime(path) 文件或目录最后更改的时间<br />
os.path.getatime(path) 文件或目录最后存取的时间<br />
os.path.samefile(path1,path2) 如果2个路径指向同样的文件或目录，返回True(Windows上不可用)</p>
<p>glob模块<br />
glob.glob(&#8220;*.py&#8221;) #返回当前目录下所有以.py为后缀的目录或文件,glob(&#8220;*.py&#8221;) 里面可用正则去匹配,返回一个LIST列表.</p>
<p>转载自：http://blog.alexa-pro.cn/?p=211</p>
<h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2009年08月5日 -- <a href="http://www.1986x.net/archives/1720.html" title="Python文件操作 打开,读取,关闭">Python文件操作 打开,读取,关闭</a></li><li>2010年07月30日 -- <a href="http://www.1986x.net/archives/2626.html" title="一个不错的python学习网站">一个不错的python学习网站</a></li><li>2010年04月6日 -- <a href="http://www.1986x.net/archives/2519.html" title="用Python操作Mysql">用Python操作Mysql</a></li><li>2010年03月29日 -- <a href="http://www.1986x.net/archives/2502.html" title="Django 结构及处理流程分析">Django 结构及处理流程分析</a></li><li>2010年03月22日 -- <a href="http://www.1986x.net/archives/2471.html" title="ubuntu环境下python+apache2+mod_python部署django">ubuntu环境下python+apache2+mod_python部署django</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.1986x.net/archives/1717.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
