当前位置: 首页 > 面试题库 >

检查并等待直到有文件可以读取

夏祯
2023-03-14
问题内容

我需要等待,直到创建了一个文件,然后将其读入。我有以下代码,但请确保它不起作用:

import os.path
if os.path.isfile(file_path):
    read file in
else:
    wait

有什么想法吗?


问题答案:

一个简单的实现可以是:

import os.path
import time

while not os.path.exists(file_path):
    time.sleep(1)

if os.path.isfile(file_path):
    # read file
else:
    raise ValueError("%s isn't a file!" % file_path)

每次检查后,您都需要等待一段时间,然后在路径存在时读取文件。KeyboardInterruption如果从未创建该文件,则可以停止该脚本,但有例外。您还应该检查该路径是否位于该文件之后,以避免某些不必要的异常。



 类似资料:
  • 我被困在一个有硒等待的情况下。我正在使用硒爪哇和cucumber。点击一个按钮,一个新的页面加载,但内容还不能点击。当页面加载到背面时,将显示一个灰色屏幕阻止器,以便在加载整个页面之前使其不可编辑。所以我不能使用waitforpageload或wait for element使其可见,因为它们都返回true,因为元素在后台可用。我尝试使用一个条件来检查元素是否可点击,以确保页面完全加载。但那也没用

  • 我使用等待块使代理等待,直到条件为真(资源空闲)。我尝试在等待块“输入”字段中写入以下内容: 问题是,如果资源变得繁忙,代理将被困在等待块中,不会被释放,即使条件再次变为真。然后,当下一个代理进入等待块时(条件再次变为真),它将传递原本在它前面的代理,但现在被卡住了。有办法解决这个问题吗?

  • 问题内容: 如何让我的代码等待,直到DispatchQueue中的任务完成?是否需要任何CompletionHandler或其他东西? 我正在使用Xcode 8.2并在Swift 3中编写。 问题答案: 使用s可以实现这一点。您可以在群组和通话达到平衡时得到通知: 或者您可以等待: 注意 :阻止当前队列(在您的情况下可能是主队列),因此您必须在另一个队列上(如上面的示例代码中)以避免 死锁 。

  • 问题内容: 当前,我尝试创建一个打开文件(带有相应应用程序)的单元测试,然后测试运行应等待程序关闭。 有谁知道如何实现(尽可能简单)我的计划? 问题答案: 从文档: 一旦关联的应用程序启动,startfile()就会返回。没有选择等待应用程序关闭的选项,也没有办法检索应用程序的退出状态。 如果您知道用于打开文件的应用程序的路径,则可以使用subprocess.Popen()来等待。 请参阅:htt

  • 我有4个按钮,基本上他们设置一个变量的值,当一个国际象棋提升需要做。然而,我认为程序流并没有等待用户做出那个选择。我的代码是这样的: 此时,当窗口显示时,当用户没有选择值时,程序继续运行,而另一个函数使用了导致错误的。有没有什么方法可以让我停止程序流,直到用户点击其中一个按钮,以便后面的代码可以使用该变量的值?

  • 我有一个Selenium脚本(Python),它单击一个回复按钮以显示类anonemail。类anonemail显示所需的时间各不相同。因此,在元素出现之前,我必须使用sleep。 我想等到类已经出现,而不是使用睡眠。我听说过等待命令,但我不知道如何使用它们。 这是我到目前为止所拥有的: