Perl 分塊讀取到檔案中

發布 科技 2024-03-19
7個回答
  1. 匿名使用者2024-02-07

    顯然,以上兩個位置的程式都不能正常工作,正確的如下,推@name目錄,$file如果(-e"$directory/$file");

    解釋一下,-e檔案測試後面應該跟著能真正查詢到檔案(或資料夾)的路徑,而兩位數的-e後面跟著乙個檔案的檔名,所以這個檔案是否存在是來自當前目錄,所以一般的檔案是找不到的,如果把一兩個檔名相同的檔案放在程式所在的目錄下,可以列印出來,所以記住,這個檔案在perl中只是判斷-e後面路徑指示的檔案是否存在,把目錄路徑加到檔案裡,檔案就會被找到,我測試過了,你自己改一下吧。

    還有乙個常識,為什麼輸出幾個點,在所有的資料夾中,有兩個平時看不到的檔案,這兩個資料夾的名稱都是“.”。“和”......它們分別代表當前目錄和上層目錄,並且存在於所有目錄中,所以當你判斷時,可以判斷這兩個資料夾存在並且會被列印出來,你就會慢慢明白這兩個資料夾名稱是多麼容易。

  2. 匿名使用者2024-02-06

    我不能用你的**來測試它,我不知道怎麼學它,也沒有找到原因。 我不得不使用 chdir 來更改工作路徑,然後使用 glob"* ."來實現它。 這是我的**:

    use strict;

    use warnings;

    use diagnostics;

    my $directory="d:/software/windows 7 client software logo toolkit - rtw";

    my @name_dir;

    my @name_write;

    my @name_read;

    my @name_executive;

    my $file;

    my $file_dir;

    my $file_read;

    my $file_write;

    my $file_executive;

    chdir "$directory";

    foreach $file(glob ".* ")

    print"the existed file are:";

    foreach$file_dir(@name_dir)

    print" the read file are: ";

    foreach$file_read(@name_read)

    print" the write file are: ";

    foreach$file_write(@name_write)

    print" the executive file are: ";

    foreach$file_executive(@name_executive)

  3. 匿名使用者2024-02-05

    不可以,您不能:

    open file1,"1";

    open file2,"2";

    while(defined($line 1=))} 可以:

    open file1,"1";

    while(defined($line 1=))} 可用於巢狀。

    open f1,"1";

    open f2,"2";

    a1=;a2=;

    for $line1 (@a1)}

  4. 匿名使用者2024-02-04

    好吧,你現在不是快要寫出來了嗎?

  5. 匿名使用者2024-02-03

    建立乙個檔案列表,每行乙個檔名。

    逐行讀取檔名並執行操作。

  6. 匿名使用者2024-02-02

    您可以按照敘述的順序進行。

    開啟檔案讀取內容 --> 做相應的計算 -->關閉檔案開啟結果檔案 -->寫入計算結果 --> 關閉結果檔案 重複上述演算法,計算求和的內容,然後將計算結果附加到結果檔案中 此外,還可以先分別讀取這三個檔案, 將結算結果儲存到三個結果變數中(即儲存在記憶體中),然後最後一次寫入結果檔案。

  7. 匿名使用者2024-02-01

    在 perl 中,可以使用 open 或 sysopen 函式來開啟檔案進行操作,兩者都需要使用檔案控制代碼(即檔案指標)對檔案進行讀、寫、定位等操作。

    我們以 open 函式為例

    讀取:open(檔案控制代碼,"檔名"open(檔案控制代碼,"檔名"),前提檔案必須已經存在,否則它將返回 0,並在 $!中間。

    寫入:open(檔案控制代碼,"檔名"如果檔案不存在,則建立該檔案,如果存在,則清除內容,並將長度截斷為 0, $!出現錯誤訊息。

    Append: open(檔案控制代碼,"檔名"),這與正文基本相同,但有一點,檔案的內容不會被清除,新內容會附加到原文中。

    讀/寫:open(檔案控制代碼,"檔名"使用“+”模式,您可以同時讀取和寫入檔案。 您可以使用 tell() 函式在檔案內部移動,並使用 seek() 函式來定位它。

    如果該檔案不存在,則將建立該檔案。 如果檔案已存在,則不會刪除原始資料。

    open(檔案控制代碼,"檔名"通過“+”模式,可以同時讀寫檔案,但與上述不同的是,它是斷寫,會清除原始內容。

    line=;close(fd);上面的示例是開啟檔案並將檔案的內容讀入@line,然後關閉檔案。

相關回答
7個回答2024-03-19

無法刪除。

我不知道為什麼,在win中,如果安裝不正確,資料夾會出現。 >>>More

11個回答2024-03-19

壓縮後的檔案占用空間小,速度會很快,所以很多網路都是壓縮的,一般都安裝自己的解壓程式,比如winrar >>>More

12個回答2024-03-19

很明顯,U盤中有病毒! 您的計算機應該有病毒,在執行中鍵入 msconfig,並檢視啟動項中是否有 xp-(8 個 16 位數字)exe程序,如果你不知道,可以按360保安檢視啟動項,我相信你的電腦裡一定有它,這個東西好像危害不大。 >>>More

13個回答2024-03-19

E,F盤沒有系統檔案,因為系統安裝在C盤中,如果想深清E,F中的所有系統檔案,那麼可以在搜尋中搜尋。TMP(常規臨時檔案);temp(常規臨時檔案); >>>More

9個回答2024-03-19

這是導演檔案,和他一起開啟。