gpt4 book ai didi

Python os.listdir() 不断跳过某些文件?

转载 作者:行者123 更新时间:2023-11-28 22:48:54 25 4
gpt4 key购买 nike

我编写了一个 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(路径)

Return a list containing the names of the entries in the directory given by path. The list is in arbitrary order. It does not include the special entries '.' and '..' even if they are present in the directory.

关于Python os.listdir() 不断跳过某些文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24664035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com