我尝试为Emacs的Windows安装寻找.emacs文件,但我找不到它.Windows下的文件名与Unix中的文件名相同吗?
我必须自己创建吗?如果是这样,它在什么特定的目录下去了?
我正在看一个使用一些库的Xcode项目.该项目是在另一台计算机上创建的,因此我需要更新一些路径.图书馆搜索路径都以$(SRCROOT).那是什么意思?
在我的脚本中,我需要我正在使用的文件的目录.例如,file = "stuff/backup/file.zip".我需要一种从变量中获取字符串" stuff/backup / "的方法$file.
或者更一般地说,如何从Bash环境变量中以冒号分隔的列表中删除项?
我想我多年前已经看到了一种简单的方法,使用更高级的Bash变量扩展形式,但如果是这样的话,我已经忘记了它.对谷歌的快速搜索出乎意料地少了几个相关结果,没有一个我称之为"简单"或"优雅".例如,分别使用sed和awk的两种方法:
PATH=$(echo $PATH | sed -e 's;:\?/home/user/bin;;' -e 's;/home/user/bin:\?;;')
PATH=!(awk -F: '{for(i=1;i<=NF;i++){if(!($i in a)){a[$i];printf s$i;s=":"}}}'<<<$PATH)
Run Code Online (Sandbox Code Playgroud)
什么都不直接存在?有什么类似于Bash中的split()函数吗?
更新:
看起来我需要为我的故意模糊的问题道歉; 我对解决特定用例的兴趣不如激发良好的讨论.幸运的是,我明白了!
这里有一些非常聪明的技巧.最后,我在工具箱中添加了以下三个功能.魔法发生在path_remove中,这主要基于Martin York巧妙使用awk的RS变量.
path_append () { path_remove $1; export PATH="$PATH:$1"; }
path_prepend () { path_remove $1; export PATH="$1:$PATH"; }
path_remove () { export PATH=`echo -n $PATH | awk -v RS=: -v ORS=: '$0 != "'$1'"' | sed 's/:$//'`; }
Run Code Online (Sandbox Code Playgroud)
唯一真正的缺点是使用sed去除尾部结肠.考虑到马丁的其他解决方案是多么简单,但我非常愿意接受它!
相关问题: 如何在shell脚本中操作$ PATH元素?
Powershell(2.0版)在哪里?Powershell.exe的路径是什么?我安装了Windows Server 2008和Powershell.当我查看此文件夹时:
PS C:\Windows\System32\WindowsPowerShell> dir
Directory: C:\Windows\System32\WindowsPowerShell
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 20.4.2010 17:09 v1.0
Run Code Online (Sandbox Code Playgroud)
我只有Powershell v1.0.但是当我打字的时候
PS C:\> $Host.version
Major Minor Build Revision
----- ----- ----- --------
2 0 -1 -1
PS C:\>
Run Code Online (Sandbox Code Playgroud)
它表明我安装了v2.0.
我正在尝试创建一个脚本来列出给定目录中的所有目录,子目录和文件.
我试过这个:
import sys,os
root = "/home/patate/directory/"
path = os.path.join(root, "targetdirectory")
for r,d,f in os.walk(path):
for file in f:
print os.path.join(root,file)
Run Code Online (Sandbox Code Playgroud)
不幸的是,它无法正常工作.
我得到了所有文件,但不是完整的路径.
例如,如果dir结构是:
/home/patate/directory/targetdirectory/123/456/789/file.txt
它会打印:
/home/patate/directory/targetdirectory/file.txt
我需要的是第一个结果.任何帮助将不胜感激!谢谢.
我是脚本编写的新手,无法让这个工作.如果我将文件移动到没有空格的路径,我可以,但我希望它能够与空间一起工作.
我想从一个带有.cmd文件的文件夹中提取一堆Office更新.为了使批处理文件在任何计算机上都可用,我设置了一个路径变量,我只需要在一个地方更改它就可以在另一台机器上运行它.问题是路径中有一个空格.如果我在定义中的路径周围放置引号,cmd.exe会在它附加文件名和开关之前将它们放在路径周围,并且批处理失败并显示"命令行语法错误".没有引号,它失败,"不被识别为内部或外部命令,可操作程序或批处理文件."
为了测试,我正在使用帮助开关,直到或者如果我可以使它工作.我可以使用8.3文件/文件夹名称(例如我的文档作为MyDocu~1)来完成它,但它可以以不同的方式完成吗?
我只是想知道:我正在寻找一种方法来验证给定路径是否有效. (注意:我不想检查文件是否存在!我只想证明路径的有效性 - 所以如果文件可能存在于该位置).
问题是,我在.Net API中找不到任何东西.由于Windows支持的许多格式和位置,我宁愿使用MS-native.
由于该功能应该能够检查:
- 相对路径(./)
- 绝对路径(c:\ tmp)
- UNC-Pathes(\ some-pc\c $)
- NTFS限制,如完整路径1024个字符 - 如果我没有错误超过路径将使许多内部Windows功能无法访问文件.用Explorer重命名它仍然有效
- 卷GUID路径:"\?\ Volume {GUID}\somefile.foo
有没有人有这样的功能?
我有一个非常像ImportError的情况:DLL加载失败:%1不是一个有效的Win32应用程序,但答案不适合我.
我的Python代码说:
import cv2
Run Code Online (Sandbox Code Playgroud)
但该行抛出了此问题标题中显示的错误.
我C:\lib\opencv在这台64位机器上安装了OpenCV .我正在使用64位Python.
我的PYTHONPATH变量:PYTHONPATH=C:\lib\opencv\build\python\2.7.这个文件夹包含cv2.pyd,就是全部.
我的PATH变量:Path=%OPENCV_DIR%\bin;...此文件夹包含39个DLL文件,例如opencv_core246d.dll.
OPENCV_DIR具有此值:OPENCV_DIR=C:\lib\opencv\build\x64\vc11.
ImportError的解决方案:DLL加载失败:%1不是有效的Win32应用程序,说"将新的opencv二进制文件路径(C:\opencv\build\bin\Release)添加到Windows PATH环境变量".但是如上所示,C:\lib\opencv\build\x64\vc11\bin我的PATH中已经有OpenCV二进制文件夹().我的OpenCV安装没有任何Release文件夹(build/java下的空文件夹除外).
关于出了什么问题的任何想法?我可以告诉Python详细跟踪加载过程吗?究竟是什么DLL正在寻找?
谢谢,拉尔斯
我只注意到,根据http://www.dependencywalker.com/中,cv2.pyd在C:\lib\opencv\build\python\2.7为32位,而机器和我跑了Python是64位.这可能是问题吗?如果是这样,我在哪里可以找到64位版本的cv2.pyd?
Python的sys.path在哪里初始化?
UPD:Python在引用PYTHONPATH之前添加了一些路径:
>>> import sys
>>> from pprint import pprint as p
>>> p(sys.path)
['',
'C:\\Python25\\lib\\site-packages\\setuptools-0.6c9-py2.5.egg',
'C:\\Python25\\lib\\site-packages\\orbited-0.7.8-py2.5.egg',
'C:\\Python25\\lib\\site-packages\\morbid-0.8.6.1-py2.5.egg',
'C:\\Python25\\lib\\site-packages\\demjson-1.4-py2.5.egg',
'C:\\Python25\\lib\\site-packages\\stomper-0.2.2-py2.5.egg',
'C:\\Python25\\lib\\site-packages\\uuid-1.30-py2.5.egg',
'C:\\Python25\\lib\\site-packages\\stompservice-0.1.0-py2.5.egg',
'C:\\Python25\\lib\\site-packages\\cherrypy-3.0.1-py2.5.egg',
'C:\\Python25\\lib\\site-packages\\pyorbited-0.2.2-py2.5.egg',
'C:\\Python25\\lib\\site-packages\\flup-1.0.1-py2.5.egg',
'C:\\Python25\\lib\\site-packages\\wsgilog-0.1-py2.5.egg',
'c:\\testdir',
'C:\\Windows\\system32\\python25.zip',
'C:\\Python25\\DLLs',
'C:\\Python25\\lib',
'C:\\Python25\\lib\\plat-win',
'C:\\Python25\\lib\\lib-tk',
'C:\\Python25',
'C:\\Python25\\lib\\site-packages',
'C:\\Python25\\lib\\site-packages\\PIL',
'C:\\Python25\\lib\\site-packages\\win32',
'C:\\Python25\\lib\\site-packages\\win32\\lib',
'C:\\Python25\\lib\\site-packages\\Pythonwin']
Run Code Online (Sandbox Code Playgroud)
我的PYTHONPATH是:
PYTHONPATH=c:\testdir
Run Code Online (Sandbox Code Playgroud)
我想知道PYTHONPATH之前的那些路径来自哪里?