我的代码怎么了?(从另一个目录读取文件信息)



我的代码旨在显示最后一个打开的文件,即使不是最后一个打开的文件,输出始终是一个特殊文件。另外,如果我的代码与我要搜索的数据不在同一文件夹中。

我是Python的完整新手,这实际上是我使用它创建的第一个程序。我想让自己的生活更轻松,并进行一些终端应用程序,该应用程序应该自动调试我的代码。我的第一步是创建一个显示最后一个打开项目的代码,因为如果我想放入项目的文件夹已满,则很难搜索我的项目名称。所以我想到了:

import os
z = 3
o = r"/home/myname/Dokumente/Python"
list = os.listdir(o)
list_length = len(list)
list_time = []
list_low = []
print(list)
while list_length != 0:
    list_length -= 1
    print((os.path.getatime(list[list_length-1])))
    list_time.append((os.path.getatime(list[list_length-1])))
    print(list_time)
else:
    list_time.reverse()
    recent = list_time.index(min(list_time))

print(recent)
print("recently opened")
print(list[recent])
print(list)

到我的第二个问题(不在同一文件夹中时不起作用(这是终端的输出:

['Hello_World.py', 'Python_Debugger_Kopie.py']
Traceback (most recent call last):
  File "Python_Debugger.py", line 14, in <module>
    print((os.path.getatime(list[list_length-1])))
  File "/usr/lib/python3.7/genericpath.py", line 60, in getatime
    return os.stat(filename).st_atime
FileNotFoundError: [Errno 2] No such file or directory: 'Hello_World.py'

您认为您有一个路径问题。

os.path.getatime(file)

返回 file 的最后一次访问时间。因此,当您致电时:

os.path.getatime(list[list_length-1])

Python试图找到文件'Hello_World.py'。但是,此文件位于您的"/home/myname/Dokumente/Python"目录中。因此,我认为您可以在文件的开始时写这篇文章:

path_dir = '/home/myname/Dokumente/Python'
os.chdir(path_dir)

它将更改您当前的工作目录,并且应该起作用。

os.listdir尝试使用os.path.getatime时仅返回文件名,它将检查当前的工作目录中的文件名称,但找不到文件。尝试使用os.path.join(o,list[list_length-1])

之类的路径添加路径

您是Python的新鲜笔记:

  1. 列表是一个关键字,您可能应该选择另一个变量名称以避免问题
  2. 在遍历列表时,您无需跟踪python中的索引。它为您处理。您可以做类似:
  3. 的事情
for element in list:
    print((os.path.getatime(element)))
    ...

最新更新