2019/04/12

       Python中的os模块用于和形同系统机型交互。

       其中os.listdir()用于返回一个由文件名和目录名组成的列表,它接受的参数是一个绝对的路径。

import os
path = 'G:\VideoPlayer-SingleQueue'
for i in os.listdir(path):
    print(i)

.vs
CH-HCNetSDK_Win64
Debug
VideoPlayer-SingleQueue
VideoPlayer-SingleQueue.sln
VideoPlayer-SingleQueue.VC.db
x64

       os.path.isdir()用于判断对象是否为一个目录 

import os
for i in os.listdir(path):
    if os.path.isdir(i):
        print(i)

 注意:以上程序是从别人写的博客上copy过来的,经过我的运行,第二个程序是无法显示结果的,究其原因,我找了很多地方,才终于找到了,就是isdir()里面的参数必须是文件或者文件夹的绝对完全路径,也就是说是之前的“path加上我们从以path为路径的文件夹下得到的文件夹名或者文件名”,这里只要将第三句isdir()中的参数改成os.path.join(path,i)

也就是第三句改写成:if os.path.isdir(os.path.join(path,i)):           

import os
path = 'G:\VideoPlayer-SingleQueue'
for i in os.listdir(path):
    if os.path.isdir(os.path.join(path,i)):
        print(i)

.vs
CH-HCNetSDK_Win64
Debug
VideoPlayer-SingleQueue
x64

  这里给出isdir的官方解读:

os.path.isfile(path)
Return True if path is an existing regular file. This follows symbolic links, so both islink() and isfile() can be true for the same path.
所以isfile()和isdir()的参数都是路径,而非文件名,之前错误程序传给这两个函数的都是文件名。

在Python中,return是返回一个方法的值,如果你没有定义一个方法却用return 去返回就会报错。

官方文档中提示:

The key word "return" which  should be used only in a function in Python programming language.If you use it in a "for" loop or else,an error like "SyntaxError: 'return' outside function" is supposed to appears .
 

如果你在方法外用了return  就会提示“

SyntaxError: 'return' outside function 

猜你喜欢

转载自blog.csdn.net/evergreenswj/article/details/89239677