Python计算器小程序及文件IO

来源:互联网 发布:网络 党建 编辑:程序博客网 时间:2024/05/21 12:54

#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 + bdef sub(a,b):     print a, "-", b, "=", a - bdef mul(a,b):     print a, "*", b, "=", a * bdef div(a,b):     print a, "/", b, "=", a / bchoice = 0loop = 1while 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/pythonprint "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/pythonstr = raw_input("Enter your input: ");print "Received input is : ", str 
这将提示您输入任何字符串,它会在屏幕上显示相同的字符串。当我输入“!Python的”,它的输出是这样的:
Enter your input: Hello PythonReceived 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+打开两个附加和读二进制格式的文件。文件指针是在结束的文件,如果该文件存在。在追加模式打开该文件。如果该文件不存在,它会创建一个新的文件读和写。

文件对象属性

一旦一个文件被打开,并有一个文件对象,你可以得到有关该文件的各种信息。
以下是有关文件对象的所有属性的列表:

AttributeDescriptionfile.closedReturns true if file is closed, false otherwise.file.modeReturns access mode with which file was opened.file.nameReturns name of the file.file.softspaceReturns false if space explicitly required with print, true otherwise.


例子:

#!/usr/bin/python# Open a filefo = open("foo.txt", "wb")print "Name of the file: ", fo.nameprint "Closed or not : ", fo.closedprint "Opening mode : ", fo.modeprint "Softspace flag : ", fo.softspace
这将输出以下结果:
Name of the file:  foo.txtClosed or not :  FalseOpening mode :  wbSoftspace flag :  0

close() 方法

close()方法的任何一个文件对象刷新不成文的信息,并关闭该文件的对象,没有更多的写作后,可以做。
Python的自动关闭一个文件时,文件的参考对象被重新分配到另一个文件。使用close()方法关闭一个文件,这是一个很好的实践。

语法:
fileObject.close(); 
例子:
#!/usr/bin/python# Open a filefo = open("foo.txt", "wb")print "Name of the file: ", fo.name# Close opend filefo.close()
这将输出以下结果:
Name of the file:  foo.txt



读写文件

文件对象提供了一套访问方法,使我们的生活更轻松。我们会看到如何使用read()和write()方法来读取和写入文件。
write()方法:
write()方法写入字符串的任何一个打开的文件。重要的是要注意,Python字符串可以有二进制数据,而不是只是文字。
的write()方法不添加换行符('\ N')的字符串的结尾:

语法:
fileObject.write(string); 


这里传递的参数是要写入到opend文件的内容。

例如:
#!/usr/bin/python# Open a filefo = open("foo.txt", "wb")fo.write( "Python is a great language.\nYeah its great!!\n");# Close opend filefo.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 filefo = open("foo.txt", "r+")str = fo.read(10);print "Read String is : ", str# Close opend filefo.close() 
这将输出以下结果:
Read String is :  Python is


文件位置

tell()方法告诉你内的文件的当前位置,换句话说,未来的读写将出现在文件的开头,许多字节:
寻求(偏移[])方法改变当前文件的位置。 offset参数表示要移动的字节数。从参数指定字节是要移动的参考位置。

如果从被设置为0,这意味着作为参考位置使用该文件的开头和1意味着使用当前的位置作为参考位置,如果它被设置为2,那么该文件的末尾,将作为参考位置。

例如:

我们需要我们上面创建的文件foo.txt
#!/usr/bin/python# Open a filefo = open("foo.txt", "r+")str = fo.read(10);print "Read String is : ", str# Check current positionposition = fo.tell();print "Current file position : ", position# Reposition pointer at the beginning once againposition = fo.seek(0, 0);str = fo.read(10);print "Again read String is : ", str# Close opend filefo.close() 
这将输出以下结果:
Read String is :  Python isCurrent file position :  10Again read String is :  Python is
 

重命名和删除文件

Python的os模块提供的方法,帮助您执行,如重命名和删除文件,文件处理操作。
要使用这个模块,你需要导入它,然后可以任何相关的所有功能。

rename() 方法

rename()方法有两个参数,当前的文件名和新文件名。

语法:
os.rename(current_file_name, new_file_name)
例如:

下面是重命名现有的文件test1.txt的例子:
#!/usr/bin/pythonimport os# Rename a file from test1.txt to test2.txtos.rename( "test1.txt", "test2.txt" )

delete() 方法

你可以使用delete()方法所提供的文件名作为参数删除,删除的文件。

语法:
os.delete(file_name) 
例如:

以下是删除现有的文件test2.txt的例子:
#!/usr/bin/pythonimport os# Delete file test2.txtos.delete("text2.txt") 
 

Python中的目录

所有文件都包含在不同的目录,和Python有没有处理这些问题。 os模块有几种方法可以帮助您创建,删除和更改目录。

mkdir() 方法

您可以使用mkdir()os模块的方法,在当前目录下创建目录。你需要提供一个参数,这个方法,其中包含要创建的目录的名称。

语法:
os.mkdir("newdir") 
例如:

以下是在当前目录创建一个目录测试的例子:
#!/usr/bin/pythonimport os# Create a directory "test"os.mkdir("test") 


chdir() 方法


您可以使用chdir()方法来改变当前目录。chdir()方法需要一个参数,这是你想在当前目录的目录名称。

语法:
os.chdir("newdir") 
例如:

以下是进入“/home/newdir”目录的例子:
#!/usr/bin/pythonimport os# Changing a directory to "/home/newdir"os.chdir("/home/newdir") 

getcwd() 方法

getcwd()方法显示当前工作目录。

语法:
os.getcwd() 
例如:

以下是给当前目录的例子:
#!/usr/bin/pythonimport os# This would give location of the current directoryos.getcwd() 



rmdir() 方法

rmdir()方法删除目录,这是作为方法的参数传递。
在删除目录之前,在它的所有内容应该被删除。

语法:
os.rmdir('dirname') 


例如:

以下是删除“目录的/tmp/test”的例子。它需要给目录的完全合格的名称,否则会在当前目录中搜索该目录。
#!/usr/bin/pythonimport os# This would  remove "/tmp/test"  directory.os.rmdir( "/tmp/test"  ) 

原创粉丝点击