- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要对目录的所有文件执行我的脚本(搜索)。以下是有效的方法。我只是问哪个最好。 (我需要格式的文件名:parsedchpt31_4.txt)
全局:
my $parse_corpus; #(for all options)
##glob (only if all files in same directory as script?):
my @files = glob("parsed"."*.txt");
foreach my $file (@files) {
open($parse_corpus, '<', "$file") or die $!;
... all my code...
}
##readdir:
my $dir = '.';
opendir(DIR, $dir) or die $!;
while (my $file = readdir(DIR)) {
next unless (-f "$dir/$file"); ##Ensure it's a file
next unless ($file =~ m/^parsed.*\.txt/); ##Ensure it's a parsed file
open($parse_corpus, '<', "$file") or die "Couldn't open directory $!";
... all my code...
}
##readdir+grep:
my $dir = '.';
opendir(DIR, $dir) or die $!;
foreach my $file (grep {/^parsed.*\.txt/} readdir (DIR)) {
next unless (-f "$dir/$file"); ##Ensure it's a file
open($parse_corpus, '<', "$file") or die "Couldn't open directory $!";
... all my code...
}
##File::Find
my $dir = "."; ##current directory: could be (include quotes): '/Users/jon/Desktop/...'
my @files;
find(\&open_file, $dir); ##built in function
sub open_file {
push @files, $File::Find::name if(/^parsed.*\.txt/);
}
foreach my $file (@files) {
open($parse_corpus, '<', "$file") or die $!;
...all my code...
}
1 Câu trả lời
最好或最有效的方法取决于您的目的和更大的背景。您的意思是在原始速度、代码简单性还是其他方面最好?我怀疑内存考虑是否应该插入这种选择。目录中有多少个文件?
为了纯粹的实用性,glob
方法效果很好。在诉诸更多涉及的内容之前,我会问是否有问题。
如果您能够使用其他模块,另一种方法是让其他人担心肮脏的细节:
use File::Util qw();
my $fu = File::Util->new;
my @files = $fu->list_dir($dir, qw(--with-paths --files-only));
File::Find
执行递减到所有子目录的递归搜索。很多时候你不想或不需要它。
readdir
示例,因为它们混合了不同的功能:(1) 获取文件名,以及 (2) 处理单个文件。我会把这些工作分开。
my $dir = '.';
opendir(my $dh, $dir) or die $!; # Use a lexical directory handle.
my @files =
grep { -f }
map { "$dir/$_" }
grep { /^parsed.*\.txt$/ }
readdir($dh);
for my $file (@files){
...
}
关于perl - 打开/操作目录中所有文件的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6324634/
Tôi cần đặt văn bản vào một Div, vào một Div khác, vào một Div khác nữa. Vậy thì trông nó như thế này: #document Thay đổi mã PIN
Một điều kỳ lạ đã xảy ra. Tôi có một mã HTML cơ bản. html, đầu, thân. (Vì tôi nhận được một số phiếu bầu không tốt, đây là mã đầy đủ) Đây là CSS của tôi: html { background
Tôi đang cố gắng tải một tập hợp hình ảnh từ Assets vào ImageView có trong UICollectionview nhưng bất cứ khi nào tôi chạy ứng dụng, nó đều hiển thị lỗi. Và cũng không có hình ảnh nào được hiển thị. Tôi đang sử dụng
Tôi cần thay đổi một số biến môi trường dựa trên đầu ra của tập lệnh perl có tham số. Trong tcsh, tôi có thể sử dụng lệnh bí danh để đánh giá đầu ra của một tập lệnh perl. tcsh: bí danh setsdk 'eval `/localhome/
Tôi đã tạo một ứng dụng Blazor (phía máy chủ) mới bằng Windows Authentication và chạy nó bằng IIS Express. Nó sẽ hiển thị thông báo "Xin chào Domain\User!" ở góc trên bên phải sau Ra
Đây là phương thức void login(Event event); của tôi. Tôi muốn biết cách thực hiện điều này trong Kotlin. Câu trả lời hay nhất Trong Kotlin, toán tử đại diện là *. Nó hướng dẫn trình biên dịch rằng nó không được biết đến, nhưng một khi nó được biết đến, không có lớp nào khác
Xem mã sau cho câu chuyện trong sách nếu story.title.length < 140 - var story
Tôi đang cố gắng học cách xử lý chuỗi trong C. Tôi đã viết một chương trình lưu trữ một số bản nhạc và giúp người dùng kiểm tra xem bài hát mà họ đang nghĩ đến có tồn tại trong số các bản nhạc đã lưu trữ hay không. Điều này được thực hiện bằng cách yêu cầu người dùng nhập một chuỗi ký tự. Chương trình sau đó sử dụng strstr()
Tôi đang học sscanf và thấy một chuỗi định dạng như thế này: sscanf("%[^:]:%[^*=]%*[*=]%n",a,b,&c); Tôi hiểu phần %[^:] có nghĩa là quét cho đến khi gặp ':' và gán nó cho a. :
def char_check(x,y): nếu (str(x) trong y hoặc x.find(y) > -1) hoặc (str(y) trong x hoặc y.find(x) > -1):
Tôi có một tình huống muốn đưa các dòng hiện có từ một tệp văn bản vào một khối mới. dòng 1 dòng 2 dòng trong khối dòng 3 dòng 4 phải trở thành dòng 1 dòng 2 dòng
Tôi có một dự án mới và đang cố gắng thiết lập thanh công cụ gỡ lỗi Django. Đầu tiên, tôi thử thiết lập nhanh, chỉ cần thêm 'debug_toolbar' vào danh sách các ứng dụng đã cài đặt. Với điều này, khi tôi đi đến URL gốc của mình, gỡ lỗi
Trong Matlab, nếu tôi có một hàm f, với chữ ký f(a,b,c), tôi có thể tạo một hàm chỉ có một biến b sẽ gọi f với a=a1 và c=c1 cố định: g = @(b) f(a1, b,
Tôi không hiểu tại sao lại có khoảng cách dọc bổ sung giữa các phần tử trong ForEach bên trong VStack để hiển thị bộ chia ngang tùy chỉnh khi sử dụng GeometryReader bên trong ScrollView. Cuộn
Tôi tự hỏi, có hướng dẫn hoặc biện pháp tốt nhất nào về thời điểm sử dụng phiên và cookie không? Những gì nên và không nên lưu trữ trong đó? Cảm ơn! Câu trả lời hay nhất Các tài liệu này cung cấp hiểu biết tốt về các vấn đề bảo mật của cookie phiên và
Tôi có một ma trận Nx3 trong scipy/numpy mà tôi muốn tạo một biểu đồ thanh 3 chiều, trong đó trục X và Y được xác định bởi các giá trị ở cột thứ nhất và thứ hai của ma trận, chiều cao của mỗi thanh là cột thứ ba trong ma trận và số thanh được xác định bởi N.
Giả sử tôi khởi tạo semaphore theo hai cách khác nhau sem_init(&randomsem,0,1) sem_init(&randomsem,0,0) Bây giờ, sem_wait(&randomsem) trong cả hai trường hợp
Tôi đang nghi ngờ cách giá trị được lưu trữ trong "WORD" vì PStr chứa đầu ra thực tế. ? Vì Pstr lưu trữ các chữ cái viết thường thành chữ hoa, làm sao để chuyển nó thành "WORD" trong printf? Có ai vui lòng giúp tôi được không? Bạn có thể giải thích được không? #bao gồm
Tôi có một mảng 3x3: var my_array = [[0,1,2], [3,4,5], [6,7,8]]; và muốn lấy 2 phần tử đầu tiên
Tôi nhận ra bạn có thể dễ dàng kiểm tra tiêu điểm bằng cách sử dụng lệnh sau: var hasFocus = true; $(window).blur(function(){ hasFocus = false; }); $(window
Tôi là một lập trình viên xuất sắc, rất giỏi!