我有一条类似的路径:
$path='somefolder/foo/bar/lastdir';
Run Code Online (Sandbox Code Playgroud)
我想删除最后一部分,所以我有:
$path='somefolder/foo/bar';
Run Code Online (Sandbox Code Playgroud)
就像我往上翻了一个文件夹。
我真的是 php 新手,也许它只是一个功能,尽管我在任何地方都找不到。
假设我想在脚本的父目录之一中找到一个文件。考虑这个文件树:
Folder0
Folder1
needle.php
Folder2
Folder3
script.php
Run Code Online (Sandbox Code Playgroud)
我正在运行script.php,我需要找到哪个目录包含needle.php. 我这样做:
while (!file_exists($nameFile)) {
chdir('..');
}
return getcwd();
Run Code Online (Sandbox Code Playgroud)
这将返回“Folder0\Folder1\”;
将此路径转换为该文件的 URL 的正确方法是什么?(例如`http://hostname.com/Folder0/Folder1/needle.php")
或者有没有更好的方法来获取服务器上文件的 URL?
自从我开始在我的编码中成功实现 Igraph 以来,我一直在想这个问题:你能用get_all_shortest_paths检索尽可能多的最短路径吗?让我们说前10个。
到目前为止,我已经理解在无向图中检索所有最短路径是没有意义的,因为在大多数情况下,您拥有无限数量的路径。
但是我可以简单地检索前 10 条最短路径吗?
我试图用无向 g = Graph() 来实现这一点:
list = []
list.append(g.get_all_shortest_paths(index1,index2, "distance")[0]) # shortest path
list.append(g.get_all_shortest_paths(index1,index2, "distance")[1]) # second shortest path
list.append(g.get_all_shortest_paths(index1,index2, "distance")[2]) # third shortest path
list.append(g.get_all_shortest_paths(index1,index2, "distance")[3]) # forth shortest path
list.append(g.get_all_shortest_paths(index1,index2, "distance")[4]) # fifth shortest path
list.append(g.get_all_shortest_paths(index1,index2, "distance")[5]) # sixth shortest path
list.append(g.get_all_shortest_paths(index1,index2, "distance")[6]) # seventh shortest path
list.append(g.get_all_shortest_paths(index1,index2, "distance")[7]) # eigth shortest path
list.append(g.get_all_shortest_paths(index1,index2, "distance")[8]) # ninth shortest path
list.append(g.get_all_shortest_paths(index1,index2, "distance")[9]) # tenth shortest path
#"distance" is from …Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码来获取触摸事件,绘制路径并将其存储在 ArrayList 上,并且它正在工作。
@Override
public boolean onTouchEvent(MotionEvent event) {
float touchX = event.getX();
float touchY = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
drawPath.moveTo(touchX, touchY);
break;
case MotionEvent.ACTION_MOVE:
drawPath.lineTo(touchX, touchY);
drawCanvas.drawPath(drawPath, drawPaint);
paths.add(drawPath);
drawPath.reset();
drawPath.moveTo(touchX, touchY);
break;
case MotionEvent.ACTION_UP:
drawCanvas.drawPath(drawPath, drawPaint);
paths.add(drawPath);
drawPath.reset();
break;
default:
return false;
}
invalidate();
return true;
}
Run Code Online (Sandbox Code Playgroud)
在我想再次绘制它但颜色不同之后它不起作用。如果我创建路径,如评论,它的工作原理:s
public void printPath(){
Path testePath = new Path();
//testePath.moveTo(0, 0);
//testePath.lineTo(300, 300);
Paint testePaint = new Paint();
testePaint.setColor(0xFF00FF00);
testePaint.setAntiAlias(true);
testePaint.setStrokeWidth(brushSize);
testePaint.setStyle(Paint.Style.STROKE);
testePaint.setStrokeJoin(Paint.Join.ROUND);
testePaint.setStrokeCap(Paint.Cap.ROUND);
testePath = paths.remove(0);
drawCanvas.drawPath(testePath, testePaint); …Run Code Online (Sandbox Code Playgroud) 我正在尝试将用户的输入限制为有效的共享文件夹路径,例如
\\\computer-name\drive\optional_folder1\optional_folder2\
我试图环顾四周并制作自己的正则表达式,但找不到完美的答案。这是我当前的正则表达式:
^((\\{2})([A-Za-z -._]+)(\\{1})([A-Za-z -._]+))(\\{1}([A-Za-z .-_])+)*(\\?)$
任何提示将不胜感激。
谢谢你们。
我正在使用macOS High Sierra,尝试安装脚本时出现以下错误:
sh: Fusion.app/Contents/Public:/Users/<name>/.rvm/bin: No such file or directory
Run Code Online (Sandbox Code Playgroud)
显然与rvm或Fusion.app无关(我没有该应用),我有什么VMWare Fusion.app。
我正在编写一个简单的脚本,用于解析存储在AWS CloudWatch上的JSON文件的内容.我已经在脚本中添加了一个接受用户输入的参数解析器,并允许用户将文件的输出打印到屏幕上(以预定的方式),或允许他们将内容输出到本地JSON文件.这是一个让我难以理解的片段:
import argparse
parser = argparse.ArgumentParser(description="Process a log file")
parser.add_argument('-o', '--output', choices=[???, 'print'],
default='print', help='Specify logfile output path or print to screen')
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)
我的问题源于这parser.add_argument条线,特别是choices论证.我想为这个标志允许两个输入,它们是print本地机器上的一个或一些有效路径.我希望当前标记为问号的选项是Python可以识别的PATH.
有没有办法,使用argparse来指定一个标志的参数之一必须是一个PATH?到目前为止,搜索结果尚无定论.
提前致谢!
我想知道如何从站点ex解析路径:
http://example.org/hello/ok/fl.jpg
Run Code Online (Sandbox Code Playgroud)
有没有办法解析这部分(路径)
/hello/ok/
Run Code Online (Sandbox Code Playgroud) 我正在尝试仅运行Tornado文档中的Hello World代码
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
Run Code Online (Sandbox Code Playgroud)
除非出现错误: AttributeError: module 'test' has no attribute '__path__'
我只是使用IDLE运行 test.py
我以为这是由于我的Windows 10计算机没有Python可以访问,PATH但是即使在Python 3.6中添加了Python,PATH我仍然遇到相同的错误。有任何想法吗?
屏幕截图是我向其中添加python的方式PATH,我认为我理解正确。
------ 编辑 ------
我会添加一些我遇到的错误/回溯的屏幕截图。第一个是test.pyWindows 10中在IDLE 3.6中运行时下面的命令提示符。
就像有问题。以下是我必须处理跨平台路径时使用的代码。有没有比这更好的方法了?
import platform
my_os = platform.system()
if my_os == "Windows":
slash = "\\"
else:
slash = "/"
Run Code Online (Sandbox Code Playgroud)
代码中的随机示例:
source_path = ""
for part in __file__.split("/")[:-1]:
source_path += (part + slash)
print(source_path)
Run Code Online (Sandbox Code Playgroud)