我正在努力创建一个脚本,为我创建图像库.
当我运行我所拥有的它告诉我
No such file or directory at photographycreate line 16.
------------
(program exited with code: 2)
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所获得的代码.
#!/etc/perl -w
#CHANGE THIS
$filecategory = "cooking";
$filenumber = 0;
#$filename = "photography";
$imagedirectory = "\"/media/New Volume/Programming/kai product/media/photography/".$filecategory."/images/\"";
$galleryfile = "\"/media/New Volume/Programming/kai product/pages/".$filenumber."_".$filecategory."_gallery.html\"";
@imagelocation = <$imagedirectory/*>; #*/
$filecount = @imagelocation;
while($filenumber < 3) {
open GALLERY, "+>", $galleryfile or die $!;
print GALLERY ($filecount."\n");
print GALLERY ($imagedirectory."\n");
print GALLERY ($galleryfile."\n");
close GALLERY;
++$filenumber;
}
Run Code Online (Sandbox Code Playgroud)
我想要它做的是创建文件,打开它,写东西,然后关闭/保存它.我怎么能用我所拥有的呢?
这是修复:
#!/etc/perl -w
use Fcntl; #The Module
use strict;
#CHANGE THIS
my $filecategory = "cooking";
my $filenumber = 0;
my $imagedirectory = "\"/media/New Volume/Programming/kaiproduct/media/photography/".$filecategory."/images/\"";
my $galleryfile = "/media/New Volume/Programming/kaiproduct/pages/".$filenumber."_".$filecategory."_gallery.html";
my @imagelocation = <$imagedirectory/*>; #*/
my $filecount = @imagelocation;
while($filenumber < 3)
{
open GALLERY, "+>", $galleryfile or die $!;
print (GALLERY $filecount."\n");
print (GALLERY $imagedirectory."\n");
print (GALLERY $galleryfile."\n");
close GALLERY;
++$filenumber;
}
Run Code Online (Sandbox Code Playgroud)
我认为问题在于:
$imagedirectory = "\"/media/New Volume/Programming/kai product/media/photography/".$filecategory."/images/\"";
$galleryfile = "\"/media/New Volume/Programming/kai product/pages/".$filenumber."_".$filecategory."_gallery.html\"";
Run Code Online (Sandbox Code Playgroud)
具体来说,这些字符串中的每一个都以字母开头"\"
和结尾\""
,这意味着您的文件和文件夹将被双引号括起来.所以Perl并没有尝试打开/media/New Volume/etc...
,但是"/media/New Volume/etc..."
,由于没有调用目录,因此不存在"
.你过度引用了.
你可以(而且应该总是)做的一件事就是让你的代码变得更好use strict;
.我看你已经use warnings;
在顶部有,这是很好的,但同时使用strict
,并warnings
会使你的代码更加安全,更好看.
归档时间: |
|
查看次数: |
4631 次 |
最近记录: |