如何让一个变量等于 .txt 文件的多行?
How to get one variable to equal multiple lines of a .txt file?
如何让一个变量每次循环更新它的字符串值?我将文本文件的行存储在名为 $attempt
的变量中,然后在文本框中显示它。
.txt 文件:
我的 AutoIt 脚本:
$attempt
总是等于字符串“dog”(pw.txt 的第一行),这意味着“dog”在文本框中输入了 5 次。我希望在文本框中输入“Dog”、“Apple”、“Sand”、“Shoes”和“Hat”,在不同的时间单独输入一次。
如何在每次循环迭代后让变量 $attempt
等于“pw.txt”中的以下行(例如,
- 第一次迭代
$attempt
= "狗",
- 第二次迭代
$attempt
= "Apple",
- 第三次迭代
$attempt
=“沙子”等)?
文本行是示例,可能会发生变化。
您需要使用文件句柄。在您打开文件、读取文件并在循环的每次迭代中关闭文件的那一刻。通过使用文件句柄,文件保持打开状态并读取下一行。
例如
$fh=FileOpen("pw.txt")
for $i=1 to 5
$attempt=FileReadLine($fh)
MsgBox(4096,"test",$attempt)
Next
我会将整个文件读入数组,而不是逐行读取:
$aPW = FileReadToArray("pw.txt")
For $attempt In $aPW
MsgBox(0, "test", $attempt)
Next
好处:您不必事先知道文件中有多少行,而且速度要快得多,因为您只需访问文件一次。
注意:数组的最大元素数为 16,777,216(Source),因此当您的文件大于 1670 万行时,Richards 的答案就是您的方式不顾速度劣势继续前行。
如何让一个变量每次循环更新它的字符串值?我将文本文件的行存储在名为 $attempt
的变量中,然后在文本框中显示它。
.txt 文件:
我的 AutoIt 脚本:
$attempt
总是等于字符串“dog”(pw.txt 的第一行),这意味着“dog”在文本框中输入了 5 次。我希望在文本框中输入“Dog”、“Apple”、“Sand”、“Shoes”和“Hat”,在不同的时间单独输入一次。
如何在每次循环迭代后让变量 $attempt
等于“pw.txt”中的以下行(例如,
- 第一次迭代
$attempt
= "狗", - 第二次迭代
$attempt
= "Apple", - 第三次迭代
$attempt
=“沙子”等)?
文本行是示例,可能会发生变化。
您需要使用文件句柄。在您打开文件、读取文件并在循环的每次迭代中关闭文件的那一刻。通过使用文件句柄,文件保持打开状态并读取下一行。
例如
$fh=FileOpen("pw.txt")
for $i=1 to 5
$attempt=FileReadLine($fh)
MsgBox(4096,"test",$attempt)
Next
我会将整个文件读入数组,而不是逐行读取:
$aPW = FileReadToArray("pw.txt")
For $attempt In $aPW
MsgBox(0, "test", $attempt)
Next
好处:您不必事先知道文件中有多少行,而且速度要快得多,因为您只需访问文件一次。
注意:数组的最大元素数为 16,777,216(Source),因此当您的文件大于 1670 万行时,Richards 的答案就是您的方式不顾速度劣势继续前行。