我希望生成的输出文件包含指向相对于样式表的路径的文件路径.样式表的位置可以更改,我不想使用样式表的参数.我的解决方案是获取完整的样式表URI:
<xsl:variable name="stylesheetURI" select="document-uri(document(''))" />
Run Code Online (Sandbox Code Playgroud)
现在我只需要切断文件名$stylesheetURI.这激发了我编写PHP函数basename和dirname的 XSLT 2.0克隆:
<xsl:function name="de:basename">
<xsl:param name="file"></xsl:param>
<xsl:sequence select="tokenize($file, '/')[last()]" />
</xsl:function>
<xsl:function name="de:dirname">
<xsl:param name="file"></xsl:param>
<xsl:sequence
select="string-join(tokenize($file, '/')[position() != last()], '/')" />
</xsl:function>
Run Code Online (Sandbox Code Playgroud)
现在我可以在我的模板中做这样的事情:
<img src="{concat(de:dirname($stylesheetURI),'/img/myimage,png')}" />
Run Code Online (Sandbox Code Playgroud)
我的问题是:有没有更好/更快的方法来实现本机XSLT 2.0?
有没有办法从ASP.NET的URL获取物理文件路径?
Scenerio:我有一个应用程序在两个服务器上,但它现在将更多,每个服务器将它放在一个不同的物理文件路径.现在我这样做:
//for server 1
if (Request.Url.GetLeftPart(UriPartial.Path).Contains(".com"))
{ Application["StoreFilesPath"] = "E:\\Data\\rootsite\\f1\\appsite\\Upload\\"; }
//for server 2
if (Request.Url.GetLeftPart(UriPartial.Path).Contains(".net"))
{ Application["StoreFilesPath"] = "E:\\Web\\rootsite2\\f34\\abc\\ghi\\appsite\\Upload\\"; }
Run Code Online (Sandbox Code Playgroud)
但我需要做的是这样的事情:
//for all servers
Application["StoreFilesPath"] = getPhysicalFilePath() +"\\Upload\\";
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
iOS:将NSString拆分为FilePath和Name + Extension
我该如何拆分
@"blah/.../myfile.txt"
Run Code Online (Sandbox Code Playgroud)
成
@"blah/.../myfile"
Run Code Online (Sandbox Code Playgroud)
和
@"txt"
Run Code Online (Sandbox Code Playgroud) 我正在编写一个小型Java应用程序,我遇到了文件路径问题.
我想用.执行批处理文件
Runtime.getRuntime().exec("cmd /c start c:\program files\folder\file.bat");
但是现在Java因为文件路径中的空白而哭泣.
我该怎么逃避呢?
编辑:
好的,谢谢你的回答.但我刚遇到一个新问题:
如果我以这种方式启动.bat它只是打开一个cmd窗口,没有任何反应.但是,如果我将.bat移动到没有空格的c:/ folder /它可以工作...... .bat本身也很好.
给定一个可能的完整文件路径,我将使用C:\ dir\otherDir\possiblefile的例子我想知道一个很好的方法来找出是否
C:\ dir\otherDir\possiblefile文件
或 C:\ dir\otherDir目录
存在.我不想创建文件夹,但我想创建该文件,如果它不存在.该文件可能有扩展名.我想完成这样的事情:

我提出了一个解决方案,但在我看来,它有点矫枉过正.应该有一种简单的方法.
这是我的代码:
// Let's example with C:\dir\otherDir\possiblefile
private bool CheckFile(string filename)
{
// 1) check if file exists
if (File.Exists(filename))
{
// C:\dir\otherDir\possiblefile -> ok
return true;
}
// 2) since the file may not have an extension, check for a directory
if (Directory.Exists(filename))
{
// possiblefile is a directory, not a file!
//throw new Exception("A file was expected but a directory was found");
return false;
}
// …Run Code Online (Sandbox Code Playgroud) 我想检索其扩展名的字体文件路径(例如"arial.ttf").
该QFont :: rawname()方法总是返回" 未知 ".
有没有其他方法来获取字体的名称和扩展名?
这是我们使用的代码:
bool ok = true;
QFont font = QFontDialog::getFont(&ok, this);
if(ok)
{
QString fontpath = "/Library/Fonts/" + font.family()+".ttf";//Using font file path in the application
}
Run Code Online (Sandbox Code Playgroud) 我发现自己需要在源树中获取python文件的父目录,该源目录树是多个目录,具有一定的规律性.不得不多次打电话给dirname是笨重的.
我环顾四周,很惊讶没有发现这个帖子.
一般情况是:
import os.path as op
third_degree_parent = op.dirname(op.dirname(op.dirname(op.realpath(__file__))))
Run Code Online (Sandbox Code Playgroud)
是否有更惯用的方法来执行此操作,不需要嵌套的dirname调用?
我无法从Linux Mint 17.1 Cinnamon上创建的.desktop启动器启动python脚本.
问题是脚本将在错误的路径中启动 - 即主文件夹而不是它所在的目录.因此,它无法在其文件夹中找到伴随它的其他重要文件,因此无法正常工作.
为了检查这种不当行为,我创建了一个简短的脚本来检查python脚本正在执行的文件夹:
#!/usr/bin/env python
import subprocess
import time
subprocess.call(["pwd"], shell=True)
time.sleep(7) # to get a chance to read the output
Run Code Online (Sandbox Code Playgroud)
从它自己的文件夹执行它给出输出:
/home/myusername/PythonProjects
Run Code Online (Sandbox Code Playgroud)
我正在通过Nemo的菜单设置桌面启动器.现在执行相同的脚本会产生:
/home/myusername
Run Code Online (Sandbox Code Playgroud)
我不明白这种行为.我怎么能为我的python脚本创建一个工作桌面启动器?
我正在Eclipse中开发一个Web项目并使用一个凉亭.我使用的一些库有演示文件和它自己的依赖项,它们与项目结构有关,这与我项目的结构不同.Eclipse抱怨并给了我很多错误:
如何禁用这些文件夹中包含的资源的验证?我已经在这些文件夹中禁用了JavaScript验证,如下所述:如何从我的eclipse项目中删除javascript验证?
谢谢.
有我的桌面上两个目录,DIR1并且DIR2包含下列文件:
DIR1:
file1.py
DIR2:
file2.py myfile.txt
Run Code Online (Sandbox Code Playgroud)
这些文件包含以下内容:
import sys
sys.path.append('.')
sys.path.append('../DIR2')
import file2
Run Code Online (Sandbox Code Playgroud)
import sys
sys.path.append( '.' )
sys.path.append( '../DIR2' )
MY_FILE = "myfile.txt"
myfile = open(MY_FILE)
Run Code Online (Sandbox Code Playgroud)
some text
Run Code Online (Sandbox Code Playgroud)
现在,有两种情况.第一个工作,第二个给出错误.
我cd进入DIR2并运行file2.py它运行没有问题.
我cd进入DIR1并运行file1.py它会抛出一个错误:
Traceback (most recent call last):
File "<absolute-path>/DIR1/file1.py", line 6, in <module>
import file2
File "../DIR2/file2.py", line 9, in <module>
myfile = open(MY_FILE)
IOError: [Errno 2] No such …Run Code Online (Sandbox Code Playgroud) filepath ×10
python ×3
.net ×1
asp.net ×1
bower ×1
build ×1
c# ×1
dirname ×1
eclipse ×1
exec ×1
file-io ×1
file-type ×1
filenames ×1
fonts ×1
function ×1
ios ×1
java ×1
launcher ×1
linux ×1
linux-mint ×1
os.path ×1
path ×1
php ×1
python-2.7 ×1
qt ×1
split ×1
string ×1
sys ×1
url ×1
whitespace ×1
windows ×1
xslt ×1