老师为什么生成的csv会有空行,怎么把空行去掉
请问代码最后要加
for f in reversed(allfile):
为什么最后要反过来输出呢?
关于压缩这里有个疑问
压缩的文件必须要在相同文件夹下吗?
比如这里,如果要压缩音乐文件夹下的 file01.py
可以直接
z1.write("file01.py")
还是必声明路径?
谢谢
关于本章教材29-30页的代码
运行结果目录和文件是乱序输出的 :前两个是目录,中间是文件,后边又变成目录。
有两个问题:
1.为什么不是按照先目录再文件的顺序输出?
代码中用append方法将元素添加进列表中,不是应该插入在列表的最后吗?因此输出为甚不是,先输出目录,再输出文件?
2.对
for dir in dirnames:
all_files.append(os.path.join(dirpath,dir))
是对所有目录按照左侧project中的顺序,依次append目录,还是无序的?按照上一次课的提问,应该是无序的,但是我试着多次运行几次,为什么顺序并没有变化呢?
""" 1、项目中有哪些类 2,、每个类中有哪些方法 1.坦克类 射击 移动 显示坦克的方法 2.子弹类 移动 显示子弹方法 3.墙壁类 属性:是否可以通过 4.爆炸效果类 展示爆炸效果 5.音效类 播放音乐 6.主类 开始游戏 结束游戏 """ """ 新增功能 :加载主窗口 """ import pygame SCREEN_WIDTH=700 SCREEN_HEIGHT=500 class MainGame(): window=None def __init__(self): pass #开始游戏 def startGame(self): # 初始化显示模块 pygame.display.init() #设置窗口大小及显示 MainGame.window=pygame.display.set_mode([SCREEN_WIDTH,SCREEN_HEIGHT]) while True: pygame.dislay.update def endGame(self): pass class Tank(): def __init__(self): pass #移动 def move(self): pass #射击 def shot(self): pass #展示坦克方法 def displayTank(self): pass #我放坦克 class MyTank(Tank): def __init__(self): pass #敌方坦克 class EnemyTank(Tank): def __init__(self): pass #子弹类 class Bullet(): def __init__(self): pass #移动 def move(self): pass #展示子弹的方法 def displayBullet(self): pass class Wall(): def __init__(self): pass #展示墙壁额方法 def displayWall(self): pass class Explode(): def __init__(self): pass def displayExlode(self): pass class Music(): def __init__(self): pass def play(self): pass if __name__=='__main__': MainGame().startGame()
我照着抄写的运行失败,第十一行,语法错误
#coding=utf-8 #测试键盘和鼠标shijian from tkinter import * root = Tk() root.geometry("500x300") c1 = Canvas(root,width=200,height=200,bg="green") c1.pack() def mouseTest(event): print(("鼠标左键单击位置(相对于父容器):{0},{1}".format(event.x,event.y)) print("鼠标左键单击位置(相对于屏幕):{0},{1}".format(event.x_root,event.y_root)) print("时间绑定的组件:{0}".format(event.widget)) def testDrag(event): c1.create_oval(event.x,event.y,event.x+1,event.y+1) def keyboardTest(event): print("键的keycode:{0},键的char:{1},键的keysym:{2}" .format(event.keycode,event.char,event.keysym)) def press_a_test(event): print("press a") def pelese_a_test(event): print("relesas a") c1.bind("<Button-1>",mouseTest)
关于
dirs = os.listdir("movie")
列出的一级子目录和文件是按照左边目录的顺序或者其他顺序列出文件吗?因为在视频演示中,我发现'.... .mp4' 本来在最后,但在列表中出现在第二个。不知道列出的方式是否是按照一定顺序,这样可以在后边直接对dirs列表用index方法调用里面的名称
关于csv.write:
视频课中
写入多行时,c是用大列表套小列表的方式表示一行
但是在本章pdf文件中,
rows是使用列表中用元组的形式表示一行
请问两个用法是一样的吗?
有什么情况下是只能用其中一种形式,而不能用另一种的吗? 谢谢
请问,为什么我每次删除创建的文件都会有这样的提示?谢谢
csv.reader中:
视频中的代码是:
with open () as f: a_csv = csv.reader(f) # print(list(a_csv)) for row in a_csv: print(row)
这里讲的是若print,指针就已指到最后,因此下一行for中不能在读取数据
但是本章文件中的代码
with open() as a: a_csv = csv.reader(a) headers = next(a_csv) print(headers) for row in a_csv: print(row)
想问一下这里 next(a_csv)的作用是什么,为什么加这一句后,print(headers)只打印第一行内容,而不是全部内容?谢谢
老师好,这段代码:
with open("e.txt","r",encoding="utf-8") as f: print("文件名是:{0}".format(f.name)) print(f.tell()) #开始时候指针在0处 print("读取的内容:{0}".format(str(f.readline()))) print(f.tell()) #中文占用三个字节,最后的换行符占用一个字节,因此这里是15 f.seek(3) #相当于跳过前三个字节,'我'没有了 print("读取的内容:{0}".format(str(f.readline())))
在跳过一行后,我的运行结果是14,但是老师上课运行结果是15,这里为什么出现这个问题?
老师老师,听到这一小节的最后,突然想到一个问题,调用close关闭的时候,会先调用flush把缓冲的数据写到文件里,之后关闭文件,释放文件对象是吧。
那么有没有一种情况,当调用flush的时候出错,没有写入文件,在这里出现异常了,会怎样?会不会造成close无限循环关闭不了呢。哈,可能是一个傻问题,请老师批评指正解惑。
这里关于if not fragment,有两个问题:
1)我不懂为什么可以这么写,如果表示true or false,应该只可以用数字代替吧?0表示false,其他数字表示true。
这里fragment是字符串,if not fragment,不应该报错吗?
2)我也不太懂这段代码。
若fragment不是空集,if not fragment就是false,所以运行else。如果fragment是空集,if not fragment是true,所以运行if下的break。
是这样的逻辑吗?
关于write()和writelines()的区别:
视频里讲,后者不添加换行符。
我理解的是前者在写入文件中会有\n,而后者直接变成换行了。
但是我试着把本节课代码中writelines改成write()
报错的原因是write()不能写入list,只能写入string。
所以关于这两个的用法区别我还是不太理解:是write只能写string,writeline可以两者都写吗?是否还有其他区别?谢谢
老师 我不懂这个是啥 图在下面了 help
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637