Python计算器小程序及文件IO
2013-02-06 14:33
453 查看
#Pyhon语言总体比较简单,和PHP有点像,变量无须声明,无须大括号和分号 #但是要注意输入输出和冒号的书写 #好的Python网站 http://www.sthurlow.com/python/ 和 http://www.yiibai.com/python #Python tutorial及API文档大全 http://www.python.org/doc/ def menu(): print "Welcome to yangliu cal.py" print "you options are:" print " " print "1) Addition" print "2) Sub" print "3) Multiplication" print "4) Div" print "5) Quit" return input ("Choose your option: ") def add(a,b): print a, "+", b, "=", a + b def sub(a,b): print a, "-", b, "=", a - b def mul(a,b): print a, "*", b, "=", a * b def div(a,b): print a, "/", b, "=", a / b choice = 0 loop = 1 while loop == 1: choice = menu() if choice == 1: add(input("Add this:"), input("to this: ")) elif choice == 2: sub(input("Sub this:"), input("to this: ")) elif choice == 3: mul(input("Mul this:"), input("to this: ")) elif choice == 4: div(input("Div this:"), input("to this: ")) elif choice == 5: loop = 0 print "Thank you!"
Python文件IO,主要函数如read(),write(),seek()等等和C很像,有一些很强大的函数,转录部分资料放在这里 来源 http://www.yiibai.com/python/python_files_io.html 打印到屏幕上:
产生输出最简单的方法是使用print语句,在那里你可以通过零个或多个表达式,用逗号隔开。此功能转换你把它传递给一个字符串表达式,结果写到标准输出如下:
#!/usr/bin/python print "Python is really a great language,", "isn't it?";此标准屏幕上会产生以下结果:
Python is really a great language, isn't it?
读取键盘输入:
Python提供了两个内置的函数从标准输入,默认情况下,从键盘读取一行文本。这些职能是:* raw_input
* input
raw_input() 函数:
raw_input([prompt]) 函数从标准输入读取一个行,它返回一个字符串(去掉结尾的换行符):#!/usr/bin/python str = raw_input("Enter your input: "); print "Received input is : ", str这将提示您输入任何字符串,它会在屏幕上显示相同的字符串。当我输入“!Python的”,它的输出是这样的:
Enter your input: Hello Python Received input is : Hello Python
打开和关闭文件:
到现在为止,您已经阅读和写作的标准输入和输出。现在,我们将看到如何发挥与实际的数据文件。Python提供了必要的操作文件默认情况下的基本功能和方法。你可以做你的文件使用文件对象的操作。
open() 函数:
才可以读取或写入文件,你必须使用Python的内置在open()函数打开它。这个函数创建一个文件对象,这将被用来调用与它相关的其他支持方法。语法:
file object = open(file_name [, access_mode][, buffering])下面是参数研究的细节:
* file_name:FILE_NAME参数是一个字符串值,它包含您要访问的文件名。 * access_mode:该access_mode确定在该文件已被打开,即模式。读,写追加等,在下表中给出的可能值的完整列表。这是可选参数,默认的文件访问模式读取(r)
* buffering:如果缓冲值设置为0,没有缓冲就会发生。如果缓冲值是1,线缓冲访问文件时,将执行。如果您指定一个大于1的整数的缓冲值,然后缓冲作用,将指定的缓冲区大小。如果是负数,缓冲区的大小是系统默认(默认行为)。
这里是一个不同的模式打开一个文件列表:
模块 | 描述 |
---|---|
r | 以只读方式打开文件。文件指针放置在文件的开头。这是默认模式。 |
rb | 打开一个只读取二进制格式的文件。文件指针放置在文件的开头。这是默认模式。 |
r+ | 打开一个文件的读和写。文件指针将会在文件的开头。 |
rb+ | 打开一个文件,二进制格式的读和写。文件指针将会在文件的开头。 |
w | 打开只写文件。如果该文件存在,覆盖该文件。如果该文件不存在,创建新的书面文件。 |
wb | 打开仅在二进制格式的书面文件。如果该文件存在,覆盖该文件。如果该文件不存在,创建新的书面文件。 |
w+ | 打开一个写作和阅读文件。如果该文件存在,将覆盖现有的文件。如果该文件不存在,创建一个新的文件读和写。 |
wb+ | 打开一个二进制格式的写作和阅读文件。如果该文件存在,将覆盖现有的文件。如果该文件不存在,创建一个新的文件读和写。 |
a | 打开一个文件追加。文件指针是在结束的文件,如果该文件存在。也就是说,该文件是在追加模式。如果该文件不存在,它创建了一个新的书面文件。 |
ab | 打开附加的二进制格式的文件。文件指针是在结束的文件,如果该文件存在。也就是说,该文件是在追加模式。如果该文件不存在,它创建了一个新的书面文件。 |
a+ | 打开一个追加和读文件。文件指针是在结束的文件,如果该文件存在。在追加模式打开该文件。如果该文件不存在,它会创建一个新的文件读和写。 |
ab+ | 打开两个附加和读二进制格式的文件。文件指针是在结束的文件,如果该文件存在。在追加模式打开该文件。如果该文件不存在,它会创建一个新的文件读和写。 |
文件对象属性:
一旦一个文件被打开,并有一个文件对象,你可以得到有关该文件的各种信息。以下是有关文件对象的所有属性的列表:
Attribute | Description |
---|---|
file.closed | Returns true if file is closed, false otherwise. |
file.mode | Returns access mode with which file was opened. |
file.name | Returns name of the file. |
file.softspace | Returns false if space explicitly required with print, true otherwise. |
#!/usr/bin/python # Open a file fo = open("foo.txt", "wb") print "Name of the file: ", fo.name print "Closed or not : ", fo.closed print "Opening mode : ", fo.mode print "Softspace flag : ", fo.softspace这将输出以下结果:
Name of the file: foo.txt Closed or not : False Opening mode : wb Softspace flag : 0
close() 方法:
close()方法的任何一个文件对象刷新不成文的信息,并关闭该文件的对象,没有更多的写作后,可以做。Python的自动关闭一个文件时,文件的参考对象被重新分配到另一个文件。使用close()方法关闭一个文件,这是一个很好的实践。
语法:
fileObject.close();例子:
#!/usr/bin/python # Open a file fo = open("foo.txt", "wb") print "Name of the file: ", fo.name # Close opend file fo.close()这将输出以下结果:
Name of the file: foo.txt
读写文件:
文件对象提供了一套访问方法,使我们的生活更轻松。我们会看到如何使用read()和write()方法来读取和写入文件。write()方法:
write()方法写入字符串的任何一个打开的文件。重要的是要注意,Python字符串可以有二进制数据,而不是只是文字。
的write()方法不添加换行符('\ N')的字符串的结尾:
语法:
fileObject.write(string);
这里传递的参数是要写入到opend文件的内容。
例如:
#!/usr/bin/python # Open a file fo = open("foo.txt", "wb") fo.write( "Python is a great language.\nYeah its great!!\n"); # Close opend file fo.close()上面的方法将创造foo.txt的文件,并会写在该文件中的内容,并最终将关闭该文件。如果你想打开这个文件,它有以下内容:
Python is a great language. Yeah its great!!
read() 方法:
read()方法从一个打开的文件中读取字符串。重要的是要注意,Python字符串可以有二进制数据,而不是只是文字。语法:
fileObject.read([count]);这里的参数是要从opend文件读取的字节数。这种方法从文件的开头开始阅读和计数失踪然后,它尝试读取尽可能多的,可能是直到文件结束。
例如:
我们需要我们上面创建的文件foo.txt
#!/usr/bin/python # Open a file fo = open("foo.txt", "r+") str = fo.read(10); print "Read String is : ", str # Close opend file fo.close()这将输出以下结果:
Read String is : Python is
文件位置:
tell()方法告诉你内的文件的当前位置,换句话说,未来的读写将出现在文件的开头,许多字节:寻求(偏移[])方法改变当前文件的位置。 offset参数表示要移动的字节数。从参数指定字节是要移动的参考位置。
如果从被设置为0,这意味着作为参考位置使用该文件的开头和1意味着使用当前的位置作为参考位置,如果它被设置为2,那么该文件的末尾,将作为参考位置。
例如:
我们需要我们上面创建的文件foo.txt
#!/usr/bin/python # Open a file fo = open("foo.txt", "r+") str = fo.read(10); print "Read String is : ", str # Check current position position = fo.tell(); print "Current file position : ", position # Reposition pointer at the beginning once again position = fo.seek(0, 0); str = fo.read(10); print "Again read String is : ", str # Close opend file fo.close()这将输出以下结果:
Read String is : Python isCurrent file position : 10
Again read String is : Python is
重命名和删除文件:
Python的os模块提供的方法,帮助您执行,如重命名和删除文件,文件处理操作。要使用这个模块,你需要导入它,然后可以任何相关的所有功能。
rename() 方法:
rename()方法有两个参数,当前的文件名和新文件名。语法:
os.rename(current_file_name, new_file_name)例如:
下面是重命名现有的文件test1.txt的例子:
#!/usr/bin/python import os # Rename a file from test1.txt to test2.txt os.rename( "test1.txt", "test2.txt" )
delete() 方法:
你可以使用delete()方法所提供的文件名作为参数删除,删除的文件。语法:
os.delete(file_name)例如:
以下是删除现有的文件test2.txt的例子:
#!/usr/bin/python import os # Delete file test2.txt os.delete("text2.txt")
Python中的目录:
所有文件都包含在不同的目录,和Python有没有处理这些问题。 os模块有几种方法可以帮助您创建,删除和更改目录。mkdir() 方法:
您可以使用mkdir()os模块的方法,在当前目录下创建目录。你需要提供一个参数,这个方法,其中包含要创建的目录的名称。语法:
os.mkdir("newdir")例如:
以下是在当前目录创建一个目录测试的例子:
#!/usr/bin/python import os # Create a directory "test" os.mkdir("test")
chdir() 方法:
您可以使用chdir()方法来改变当前目录。chdir()方法需要一个参数,这是你想在当前目录的目录名称。语法:
os.chdir("newdir")例如:
以下是进入“/home/newdir”目录的例子:
#!/usr/bin/python import os # Changing a directory to "/home/newdir" os.chdir("/home/newdir")
getcwd() 方法:
getcwd()方法显示当前工作目录。语法:
os.getcwd()例如:
以下是给当前目录的例子:
#!/usr/bin/python
import os
# This would give location of the current directory
os.getcwd()
rmdir() 方法:
rmdir()方法删除目录,这是作为方法的参数传递。在删除目录之前,在它的所有内容应该被删除。
语法:
os.rmdir('dirname')
例如:
以下是删除“目录的/tmp/test”的例子。它需要给目录的完全合格的名称,否则会在当前目录中搜索该目录。
#!/usr/bin/python import os # This would remove "/tmp/test" directory. os.rmdir( "/tmp/test" )
相关文章推荐
- 【转】Python计算器小程序及文件IO
- Python计算器小程序及文件IO
- Python入门程序:文件操作和IO异常
- Java IO File 通过递归程序完成删除某个文件夹(包括里面所有文件)
- python程序使用pyinstaller打包成单一.exe文件后,如何的到.exe文件所在目录?
- Python的异步文件IO操作
- Python文件读写IO操作
- python程序把文件编码转换
- 在windows环境下用python编写备份文件小程序
- python学习===将py文件从打包成exe程序
- Python (io)读取文件
- 【Python】使用 py2exe打包Python程序为.exe文件
- Python学习:IO基础(2):对文件目录的操作
- 'python'不是内部或外部命令,也不是可运行程序或批处理文件
- 用python写的测试网页和文件编码的小程序
- 规范Python程序配置文件读写
- 随机sample文件Python程序
- 使用PyInstaller将Python程序打包成一个单独的exe文件
- python学习之路-第八天-文件IO、储存器模块
- 一个简单的根据行数对大文件进行分片的python程序