listdirpython
1. python 的os.listdir(filepath) 什麼意思
In [13]: import os
In [14]: os.listdir('圖片')
Out[14]:
['中華田園犬.jpg',
'2019-08-25 14-34-30 的屏幕截圖.png',
'2019-07-30 09-02-00 的屏幕截圖.png',
'2019-07-12 07-17-12 的屏幕截圖.png',
'2019-07-29 09-49-59 的屏幕截圖.png',
'2019-08-03 17-22-45 的屏幕截圖.png',
'2019-09-22 13-50-52 的屏幕截圖.png',
'2019-08-17 13-39-49 的屏幕截圖.png',
'2019-09-14 10-37-03 的屏幕截圖.png',
'2019-07-12 07-17-16 的屏幕截圖.png',
'2019-08-03 11-10-41 的屏幕截圖.png',
'2019-08-17 14-00-00 的屏幕截圖.png',
'2020-03-24 10-58-28 的屏幕截圖.png',
'2019-08-24 15-47-16 的屏幕截圖.png']
以上為用ipython的嘗試結果,說明,這個是用來展示目標文件夾裡面情況的
2. python--怎麼查看模塊OS里listdir()函數的源代碼,也就是怎麼定義istdir()的代碼
去 python 官網下載 Gzipped source tar ball, 解壓縮後, 你會發現 Lib/os.py 文件這行代碼
from posix import *
可是沒有文件叫 posix.py 啊, 到底在那 ? 其實 posix mole 是 builtin 的其中一分子,如下所示範:
>>> import sys
>>> print sys.builtin_mole_names
(*__builtin__*, *__main__*, *_ast*, *_codecs*, *_sre*, *_symtable*, *_warnings*, *_weakref*, *errno*, *exceptions*, *gc*, *imp*, *marshal*, *posix*, *pwd*, *signal*, *sys*, *thread*, *zipimport*)
>>>
所以要去 Moles 目錄查找 c 代碼, 你會看見 posixmole.c, 打開它看見這行代碼:
{"listdir", posix_listdir, METH_VARARGS, posix_listdir__doc__},
再尋找上面所得到的 posix_listdir method, 可以找到 listdir 源代碼:
static PyObject *
posix_listdir(PyObject *self, PyObject *args)
{
/* XXX Should redo this putting the (now four) versions of opendir
in separate files instead of having them all here... */
#if defined(MS_WINDOWS) && !defined(HAVE_OPENDIR)
PyObject *d, *v;
HANDLE hFindFile;
BOOL result;
.... 省略
來自puthon吧
3. python+os.listdir+過濾隱藏文件是怎麼回事
可以自己寫一個:def listdir_nohidden(path):
for f in os.listdir(path):
if not f.startswith('.'):
yield f
4. 用python寫一個遍歷程序,利用os.listdir(),並將最後的內容輸出到文本文檔中
創建文件目錄 2. 編寫程序 對當前路徑執行該程序 3. 查看結果是否正確 4. 結果正確。
5. python,解釋一下該代碼的含義和原理 x for x in os.listdir('.') if os.path.isdir(x)
是一個典型的列表生成式,左邊是列表元素(X),右邊是條件,說明列表的元素都是路徑。
把代碼寫成:b = [x for x in os.listdir('.') if os.path.isdir(x)]
print b 就知道結果了
6. python os.listdir 是按什麼排序的
我的是centos6系統,不是按文件名排列,也不是按文件大小排序,也不按創建或修改時間排列,實在看不出有什麼規律。
反正返回的是一個列表,自己用sorted或其它方法按需排序各元素就好啦
7. Python中如何遍歷指定目錄下的所有文件
例如:在C:\TDDOWNLOAD目錄下有a.txt、b.txt兩個文件,另有\sub1子文件夾,C:\TDDOWNLOAD\sub1下又有c.txt、d.txt兩個文件。
1. os.walk
os.walk()返回一個三元素的tuple:當前路徑、子文件夾名稱、文件列表。
>>> import os
>>> def fun( path ):
... for root, dirs, files in os.walk( path ):
... for fn in files:
... print root, fn
...
>>> fun( r'C:\TDDOWNLOAD' )
C:\TDDOWNLOAD a.txt
C:\TDDOWNLOAD b.txt
C:\TDDOWNLOAD\sub1 c.txt
C:\TDDOWNLOAD\sub1 d.txt
>>>
2. glob.glob
glob.glob()只接受一個參數,這個參數既代有路徑,又代有匹配模式,返回值為一個列表。注意,glob.glob()無法直接穿透子文件夾,需要自己處理:
>>> def fun( path ):
... for fn in glob.glob( path + os.sep + '*' ): # '*'代表匹配所有文件
... if os.path.isdir( fn ): # 如果結果為文件夾
... fun( fn ) # 遞歸
... else:
... print fn
...
>>> fun( r'C:\TDDOWNLOAD' )
C:\TDDOWNLOAD\a.txt
C:\TDDOWNLOAD\b.txt
C:\TDDOWNLOAD\sub1\c.txt
C:\TDDOWNLOAD\sub1\d.txt
>>>
'*'為匹配模式,代表匹配所有文件,只有這樣才能將子文件夾查出來,以便遞歸深入,探查下一層的文件。
8. python中for filelist in os.listdir(path) 報WindowsError: [Error 234] :
我這邊試了一下,基本上所有的文件都能成功顯示,包括名字特長的和包含中文字元的,錯誤信息能多貼點么
9. python中os.listdir打開目錄下的文件之後怎麼用xlrd打開excel
不行到底是什麼不行 說清楚
簡單起見 試試for循環之前加
os.chdir("你的price路徑")
for裡面
open(a)
10. python os.listdir('.')是什麼意思
'.'是指你執行命令時的路徑。
比如你在a目錄執行C:\a>python c:/b/c.py文件,c文件在b目錄下。'.'是把你a目錄下的文件目錄列出來而不是b目錄下的。
import os
print('hahaha==',[d for d in os.listdir('.')])
你自己試一下就知道了。