我正在为学校作业编写一个 C++ 程序。在某些时候,这个问题要求我更改目录,我知道该怎么做。但是,用户将为程序提供文件的绝对路径。我想做的是将目录更改为该文件所在的位置。例如,如果我在目录 dir2 中,并且用户想要转到该文件
/home/dir1/dir2/dir3/dir4/file
Run Code Online (Sandbox Code Playgroud)
我想要做
int ret = chdir("home/dir1/dir2/dir3/dir4");
Run Code Online (Sandbox Code Playgroud)
我的问题是如何将用户给定的字符串拆分为
/home/dir1/dir2/dir3/dir4/
Run Code Online (Sandbox Code Playgroud)
和
file
Run Code Online (Sandbox Code Playgroud)
编辑我想通了。我首先将绝对路径名从 const char* 转换为字符串。然后我使用 .find_last_of("/") 字符串成员来查找字符串中最后一个“/”的位置。然后我使用 .substr() 成员获取从 0 到 .find_last_of 返回的位置的子字符串
我正在尝试编写一个 python 脚本,以递归方式列出给定目录中具有绝对路径的所有文件,并在它们前面列出它们的 UID 和文件所有者。(类似于: ls -lR )我写了这个,但它在执行结束时给了我一个错误:
import os
for folder, subfolders, files in os.walk(os.getcwd()):
for file in files:
filePath = os.path.abspath(file)
print(filePath, os.stat(file).st_uid)
Run Code Online (Sandbox Code Playgroud) 例如,如果我有:
C:\ 42\main.py
和
C:\ 42\info.txt
,我想从main.py读取info.txt,我必须输入"C:\ 42\info.txt "instad of just"info.txt".
这应该是那样的吗?
如果没有,我该如何解决?
我有一个perl脚本:run.pl,每分钟都被cron调用.
run.pl唯一要做的就是调用另外两个脚本:download.pl和parse.pl:
#!/usr/bin/perl
use warnings;
use strict;
do 'download.pl';
do 'parse.pl';
print "done!\n";
Run Code Online (Sandbox Code Playgroud)
在download.pl和parse.pl两种打印与"下载完成"和"做了分析:"现在我把脚本输出到/var/log/script.log并检查脚本运行.
run.pl脚本运行正常,它输出"done!" 到日志文件.但是没有调用其他两个脚本.我认为这是一个相对路径问题,它在我使用绝对路径时起作用.
但这就是问题,脚本在测试阶段并且每次都改变路径,总是改变绝对路径会很麻烦.
有没有办法让脚本从相对路径运行?
编辑:当我自己从命令行运行"perl run.pl"时,它运行脚本没有问题.
我有这个jquery
$('.delete_step').live('click', function(e) {
e.preventDefault();
var delete_location = 'http//<?php echo $_SERVER["SERVER_NAME"]; ?>?route=module/cart/delete_builder_step';
console.log(delete_location);
var response = confirm("Are you sure you want to delete this step?");
if(response){
$.post( delete_location, { step_id: $(this).attr("rel"), builder_id: "<?php print $builder_id; ?>" },
function(result) {
// window.location.reload();
});
}
});
Run Code Online (Sandbox Code Playgroud)
所有看起来都不错,然后在我的控制台中我得到了这个
http//localhost?route=module/cart/delete_builder_step
Run Code Online (Sandbox Code Playgroud)
这是正确的但是帖子正在这里
http://localhost/shop_pos/admin/http//localhost?route=module/cart/delete_builder_step
Run Code Online (Sandbox Code Playgroud)
有没有办法使用jQuery帖子不相关并使用我指定的完整网址
是否有一个函数说f(在基本Perl或库中),这样:
f("/a/b/c", "./d") == "/a/b/c/d"
f("/a/b/c", "../d") == "/a/b/d"
f("/a/b/c", "/d") == "/d"
Run Code Online (Sandbox Code Playgroud)
基本上,它返回重复生成的目录cd.
我有一个文件副本的片段,如下所示:
<echo message="Root = ${original.src.root}" />
<copy todir="${source.root}">
<fileset dir="${original.src.root}"/>
</copy>
Run Code Online (Sandbox Code Playgroud)
现在,让我们说${source.root}是"d:/build/src"和${original.src.root}现在"d:/projects/myproj/src".
我收到一条消息,上面写着"D:\ projects\myproj\scripts\build.xml:224:D:\ projects\myproj\scripts \"D:\ projects\myproj\src"不存在.
当然,我的脚本目录中没有src目录.当我执行echo消息时,它表示我的original.src.root变量已正确设置.那么为什么要尝试引用基于绝对路径的基础?
我试图显示一个 src 等于绝对路径的图像。这是我在模板中所做的
<img src="/home/userName/Documents/app/userPhotos/1/uploadedPhotos/imageName.png" alt="" />
Run Code Online (Sandbox Code Playgroud)
它没有出现。我肯定这是正确的绝对路径。有什么我需要做的,比如在我的 settings.py 文件中,才能使用绝对路径?我需要吗
import os
Run Code Online (Sandbox Code Playgroud)
在我的模板中?
编辑:
以防万一,当我运行服务器并转到调用模板的 url (/displayImages/,这就是它在我的终端中所说的内容时:
[23/Feb/2014 12:07:27] "GET /displayImages/ HTTP/1.1" 200 413
[23/Feb/2014 12:07:27] "GET /home/userName/Documents/app/userPhotos/1/uploadedPhotos/imageName.png HTTP/1.1" 404 2993
Run Code Online (Sandbox Code Playgroud) 我正在尝试从crontab运行一个php文件.php的目的是简单地向用户发送电子邮件.包括我的php框架的头文件.但是crontab似乎遇到了路径问题.我已经尝试将其更改为绝对路径..请参阅下面的测试用例.
使用require_once(http://www.test.com/inc/header.php)并运行php -f test.php命令行会导致:
PHP Warning: require_once(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/user/public/test.com/public/deploy/cron/test.php on line 3
PHP Warning: require_once(http://www.test.com/inc/header.php): failed to open stream: no suitable wrapper could be found in /home/user/public/trybe-ing.com/public/deploy/cron/test.php on line 3
PHP Fatal error: require_once(): Failed opening required 'http://www.test.com/inc/header.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/user/public/test.com/public/deploy/cron/test.php on line 3
Run Code Online (Sandbox Code Playgroud)
使用require_once('../../inc/header.php');并运行php -f test.php命令行会导致php文件成功执行.
但是看着我的cron标签:
*/1 * * * * php /home/user/public/test.com/public/deploy/cron/test.php
Run Code Online (Sandbox Code Playgroud)
并查看/ var/mail /中的结果,它返回此错误:
Message 23:
From user@server …Run Code Online (Sandbox Code Playgroud) 我正在编写一个下载一些HTML的程序.我需要保留服务器上的原始文件名和文件夹结构,因此我需要一种方法来处理像"www.google.com"这样的链接.如果你输入它,它显然会下载一些PHP,但我需要知道该文件的确切名称.我在Kotlin写作,但是如果你能用Java提供一个可行的答案.
path.IsAbs 的文档说IsAbs报告路径是否是绝对的。我的代码中有一个函数来检查第一个参数是否是绝对的,如果不是,它会创建一个绝对路径。
func getPath() string {
var dir string
fmt.Printf("first arg -> %s and is it abs? %t\n", os.Args[1], path.IsAbs(os.Args[1]))
if path.IsAbs(os.Args[1]) {
dir = os.Args[1]
} else {
var currentDir string
currentDir = filepath.Dir(os.Args[0])
dir, _ = filepath.Abs(path.Join(currentDir, os.Args[1]))
}
return dir
}
Run Code Online (Sandbox Code Playgroud)
输出是 first arg -> C:\Users\Mohammad\Music\Uncategorized\Telegram and is it abs? false
但第一个论点是绝对的,所以我错过了什么?