笨方法学Python(2)

习题 15: 读取文件

习题 16: 读写文件

‘w‘ 是什么意思?
它只是一个特殊字符串,用来表示文件的访问模式。如果你用了 ‘w‘ 那么你的文件就是写入(write)模式。除了 ‘w‘ 以外,我们还有 ‘r‘ 表示读取(read), ‘a‘ 表示追加(append)。

最重要的是 + 修饰符,写法就是 ‘w+‘, ‘r+‘, ‘a+‘ ——这样的话文件将以同时读写的方式打
开,而对于文件位置的使用也有些不同。
如果只写 open(filename) 那就使用 ‘r‘ 模式打开的吗?
是的,这是 open() 函数的默认工作方式(无法修改)。

习题 17: 更多文件操作

from sys import argvfrom os.path import exists

script,from_file,to_file = argv

print "Copying from %s to %s" % (from_file,to_file)

in_file = open(from_file)indata = in_file.read()

print "The input file is %d bytes long" % len(indata)

print "Does the output file exists? %r" % exists(to_file)print "Ready, hit RETURN to continue,CTRL-C to abort."raw_input()

out_file = open(to_file,‘w‘)out_file.write(indata)

print "Alright, all done."

out_file.close()in_file.close()
#另一种写法(只需一行):
from sys import argv

script,from_file,to_file = argv

open(to_file,‘w‘).write(open(from_file).read())
 
习题 18: 命名,变量,代码,函数

函数名称有什么规则?
和变量名一样,只要以字母数字以及下划线组成,而且不是数字开始,就可以了。
*args 的 * 是什么意思?
它的功能是告诉 python 让它把函数的所有参数都接受进来,然后放到名字叫 args 的列表中去。
和你一直在用的 argv 差不多,只不过前者是用在函数上面。没什么特殊情况,我们一般不会经
常用到这个东西。

习题 19: 函数和变量
def print_two(*args):    arg1,arg2 = args    print "arg1: %r, arg2: %r" % (arg1, arg2)

def print_two_again(arg1, arg2):    print "arg1: %r, arg2: %r" % (arg1, arg2)
 
 
时间: 2024-10-23 12:29:41

笨方法学Python(2)的相关文章

Day 2 笨方法学Python

手打第25个练习,出错的地方有: def 定义后indent 4个空格,第一行空了以后,直接换行是跟上面对其的,但是运行时是错误的,我的解决方法是,重新手动空格4个: 还发现一个问题就是,中文解释,以前老是出错 # -*- coding : utf-8 -*- 网上看到的加上这个就可以了,但是我的还是出错.今天偶然在削微寒的博客http://www.cnblogs.com/xueweihan/的GIthub上找到了答案 #coding:utf-8 换成这个语句就可以了.以后,尽量每句都加上注释,

笨方法学python(5)加分题

这篇对应的是习题17,更多文件操作 # -*- coding: utf-8 -*- #对文件更多操作复制A文件的内容到B文件 #from sys import argv from os.path import exists prompt = "> " from_file = raw_input("please input the filename where you want to copy from: >") #in_file = open(from_

笨方法学python(6)加分题--列表与字典的区别

he string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H N A P L S I I G Y I R And then read line by line: "PAHNAPLSIIG

笨方法学python(4)加分题

自己在看笨方法学python这本书,把自己觉得有学到东西的记下来,并不是每个习题都有记录 这次对应的是:习题 6: 字符串(string)和文本 这次只要是想说明一下,在print语句中,只要带有格式化字符的,会当作格式化来处理 脚本1: 结果1: 打出的结果没有%r,那是因为当作格式化处理了 脚本2: 结果2: 会报错,因为print joke_evaluation %hilarious 是格式化的标识 脚本3: 结果3:

LPTHW 笨方法学python 19章

本章节,我只是把所有的输出加上了自己的注释. #!/usr/bin/env python # -*- coding:utf-8 -*- def cheese_and_crakers(cheese_count, boxes_of_crackers): '''定义了cheese_and_crakers的函数 读出两个变量,并输出他们. ''' print "You have %d cheeses!" % cheese_count print "You have %d boxes

笨方法学Python(1)

习题 1: 第一个程序(略) Warning如果你来自另外一个国家,而且你看到关于 ASCII 编码的错误,那就在你的 python 脚本的最上面加入这一行:# -*- coding: utf-8 -*-这样你就在脚本中使用了 unicode UTF-8 编码,这些错误就不会出现了. 语法错误(SyntaxError) 习题2:注释和井号(略) 习题3:数字和数字计算 习题4:变量和命名 习题 5: 更多的变量和打印(格式化字符串) my_name = 'Zed A. Shaw'my_age =

笨方法学python 33课

今天Eiffel看到了第33章,任务是把一个while循环改成一个函数. 我在把while循环改成函数上很顺利,但是不知道怎么写python的主函数,在参数的调用上也出现了问题. 通过查资料,发现python的main函数可以用如下的方式来表示: if __name__ == '__main__' 然后自然而然的想把main函数里声明的参数i,numbers,m传入loop()中. 最开始的想法: def loop(i,numbers,m): while(i<m): print "at t

笨方法学Python(3)

习题 20: 函数和文件 seek()的用法: >>> f.readlines()#读取出文件的所有内容 ['abcdefghijk\n'] >>> f.seek(2) #将当前的位置设定为相对当前位置的2的位置. >>> f.read(4) #读取4个位置的数据(从设定的位置开始读取,也就是ab 后面的四个字符) 'cdef' >>> f.seek(2,1)#将当前的位置(2)设定为相对当前位置的2的位置. >>>

笨方法学python(第三版)学习笔记1

1. 将浮点数四舍五入:round(1.7333) 2. 格式化字符:%s %d %r %r和%s有什么不同? %r用来做debug比较好,因为它会显示变量的原始数据(raw data),而 其它的符号则是用来向用户显示输出的.记住:%r用作debug,%s用作显示. 使用了%r后转义序列都不灵了.因为%r打印出的是你写到代码里的原始字符串,其中会包含原始的转义字符. line1 = raw_input("line 1: ") line2 = raw_input("line