- #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
* 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
下面是参数研究的细节:
* file_name:FILE_NAME参数是一个字符串值,它包含您要访问的文件名。
* file_name:FILE_NAME参数是一个字符串值,它包含您要访问的文件名。
*
access_mode:该access_mode确定在该文件已被打开,即模式。读,写追加等,在下表中给出的可能值的完整列表。这是可选参数,默认的文件访问模式读取(r)
* buffering:如果缓冲值设置为0,没有缓冲就会发生。如果缓冲值是1,线缓冲访问文件时,将执行。如果您指定一个大于1的整数的缓冲值,然后缓冲作用,将指定的缓冲区大小。如果是负数,缓冲区的大小是系统默认(默认行为)。
* 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')的字符串的结尾:
语法:
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!!
fileObject.read([count]);
这里的参数是要从opend文件读取的字节数。这种方法从文件的开头开始阅读和计数失踪然后,它尝试读取尽可能多的,可能是直到文件结束。
例如:
我们需要我们上面创建的文件foo.txt
这将输出以下结果:
例如:
我们需要我们上面创建的文件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
寻求(偏移[])方法改变当前文件的位置。 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 is Current file position : 10 Again read String is : Python is
例如:
下面是重命名现有的文件test1.txt的例子:
下面是重命名现有的文件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的例子:
以下是删除现有的文件test2.txt的例子:
#!/usr/bin/python import os # Delete file test2.txt os.delete("text2.txt")
例如:
以下是在当前目录创建一个目录测试的例子:
以下是在当前目录创建一个目录测试的例子:
#!/usr/bin/python import os # Create a directory "test" os.mkdir("test")
os.chdir("newdir")
例如:
以下是进入“/home/newdir”目录的例子:
以下是进入“/home/newdir”目录的例子:
#!/usr/bin/python import os # Changing a directory to "/home/newdir" os.chdir("/home/newdir")
os.getcwd()
例如:
以下是给当前目录的例子:
以下是给当前目录的例子:
#!/usr/bin/python import os # This would give location of the current directory os.getcwd()
例如:
以下是删除“目录的/tmp/test”的例子。它需要给目录的完全合格的名称,否则会在当前目录中搜索该目录。
以下是删除“目录的/tmp/test”的例子。它需要给目录的完全合格的名称,否则会在当前目录中搜索该目录。
#!/usr/bin/python import os # This would remove "/tmp/test" directory. os.rmdir( "/tmp/test" )