在File课堂上有两个字符串,separator和pathSeparator.
有什么不同?我什么时候应该使用另一个?
当需要连接多个目录时,如在可执行搜索路径中,存在与os相关的分隔符.对于Windows来说';',对于Linux来说就是这样':'.Python中是否有一种方法可以分割哪个字符?
在讨论这个问题时如何使用python找出我的python路径?,建议os.sep会这样做.答案是错误的,因为它是目录或文件名组件的分隔符,等同于'\\'或'/'.
我需要在Perl脚本中构造一个文件路径.我应该使用哪个路径分隔符来允许我的脚本在Windows和Unix上运行?
请记住,Windows需要驱动器号.
http://h71000.www7.hp.com/doc/731final/documentation/pdf/ovms_731_file_app.pdf (第 5-1 节)上的文档表示文件名应如下所示:
node::device:[root.][directory-name]filename.type;version
Run Code Online (Sandbox Code Playgroud)
其中大多数是可选的(例如节点、设备、版本) - 不确定哪些以及如何在正则表达式中正确编写它们(包括目录名称):
DISK1:[MYROOT.][MYDIR]FILE.DAT
DISK1:[MYDIR]FILE.DAT
[MYDIR]FILE.DAT
FILE.DAT;10
NODE::DISK5:[REMOTE.ACCESS]FILE.DAT
Run Code Online (Sandbox Code Playgroud) 我试图从路径解析文件名.我有这个:
my $filepath = "/Users/Eric/Documents/foldername/filename.pdf";
$filepath =~ m/^.*\\(.*[.].*)$/;
print "Linux path:";
print $1 . "\n\n";
print "-------\n";
my $filepath = "c:\\Windows\eric\filename.pdf";
$filepath =~ m/^.*\\(.*[.].*)$/;
print "Windows path:";
print $1 . "\n\n";
print "-------\n";
my $filepath = "filename.pdf";
$filepath =~ m/^.*\\(.*[.].*)$/;
print "Without path:";
print $1 . "\n\n";
print "-------\n";
Run Code Online (Sandbox Code Playgroud)
但那回归:
Linux path:
-------
Windows path:Windowsic
ilename.pdf
-------
Without path:Windowsic
ilename.pdf
-------
Run Code Online (Sandbox Code Playgroud)
我期待这个:
Linux path:
filename.pdf
-------
Windows path:
filename.pdf
-------
Without path:
filename.pdf
-------
Run Code Online (Sandbox Code Playgroud)
有人可以指出我做错了什么吗?
谢谢!:)