簡體   English   中英

Python os.listdir()一直在跳過一些文件?

[英]Python os.listdir() keeps skipping over some files?

我編寫了一個Python腳本,用於將給定目錄中的所有文件名寫入文件進行處理,並且它在我的機器上完美運行。 但是當我嘗試在目標機器上運行它時,它會跳過一些文件。 這是我正在使用的代碼的shell:

for line in os.listdir(d):
    f.write(line + "\n")

正如我所說,這在我的系統上宣​​傳,但不在目標系統上。 數據是一樣的; 我在編寫腳本的同時將它從目標系統轉移到我的進行初步測試,並且我檢查了兩個數據源以驗證傳輸中沒有丟失。 我系統的輸出如下:

filename.f0000
filename.f0001
filename.f0002
filename.f0003
...

但目標系統的輸出如下:

filename.f0000
filename.f0003
filename.f0008
filename.f0017
...

我在運行Cygwin的64位Windows PC上安裝了Python 2.7.5版本。 目標系統是運行OpenSuse的Cray XK7,它安裝了Python 2.6.8版。

這可能是兩個版本的Python之間的區別,還是兩個不同的操作系統?

您可以嘗試使用內置排序方法,例如

for line in sorted(os.listdir(d)):
    f.write(line + "\n")

以下是python文檔中的一些您可能會發現有用的信息: https//docs.python.org/2/library/os.html

os.listdir(路徑)

返回一個列表,其中包含path給出的目錄中的條目名稱。 該列表按任意順序排列 它不包括特殊條目'。' 和'..'即使它們存在於目錄中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM