|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 icewin 于 2019-11-25 23:57 编辑
我不是很理解os模块中的chdir(path)函数有什么用,感觉可以改变os模块其他函数默认路径(运行.py文件所在的文件夹),有大佬能通俗易懂解释一下吗?
最关键还有就是使用listdir()函数的时候里面路径有时有用有时不能生效问题!!!希望大佬指点下萌新。
我的代码和改路径的小甲鱼代码
这个是我的代码(左边30.2)和课后答案改了路径代码跑的结果,课后答案那个为什么不能跑起来?
小甲鱼代码加chdir后
这个是增加了chdir()的效果,可以跑指定目录了,但是原因是什么?
附上代码
- import os
- #加os.chdir('f:\\课堂练习')才能跑指定目录
- all_files = os.listdir() # 这个括号放指定目录无效,是什么原因,空的是跑py文件所在目录
- file_dict = dict()
- for each_file in all_files:
- if os.path.isfile(each_file):
- file_size = os.path.getsize(each_file)
- file_dict[each_file] = file_size
- for each in file_dict.items():
- print('%s【%dBytes】' % (each[0], each[1]))
复制代码
以上课后习题代码
============================
我的代码可以直接调用os.listdir()到指定路径,想不通
- def folder():
- import os
- path1='f:\\课堂练习' #一级目录
-
- f=os.listdir(path1)
- for f1 in f :
- if '.'not in f1:
- continue
- f2=path1+'\\'+f1
- path2=open(f2)
- s=path2.seek(0,2)
- print(f1,'【',s,'Bytes】')
- path2.close()
- folder()
复制代码
本帖最后由 jackz007 于 2019-11-26 01:17 编辑
os . chdir() 函数改变当前磁盘路径,当前磁盘路径是什么?好比要复制 Windows 记事本程序,我们知道,这个文件的路径是 "C:\\Windows\\System32\\NotePad.exe" 。那么,首先,要用资源管理器点开 "C:\\Windows\\System32" 这个路径,然后,就可以在里面找到 "NotePad.exe" 。然后,把它拖到目标磁盘的指定路径下就完成了文件复制。那么,为了找到文件 "C:\\Windows\\System32\\NotePad.exe",来到 "C:\\Windows\\System32" 的行为,就是改变当前路径,在 Python 中,可以通过 os . chdir("C:\\Windows\\System32" ) 来做到。
在当前路径下(例如:"C:\\Windows\\System32"),对所有的文件操作,例如,打开文件,执行程序,获取文件日期、长度等操作只要通过文件名(例如:"NotePad.exe"),不用带绝对路径就可以正常操作。但是,一旦离开这个目录("C:\\Windows\\System32"),如果需要访问 "NotePad.exe" 那就必须带上绝对路径 "C:\\Windows\\System32\\NotePad.exe" 操作系统才能定位到这个磁盘文件。
我的天,一个简单概念解释起来真是费劲!!!
|
|