我正在尝试使用'/'
或Directory.GetFiles
用Directory.GetDirectories
字符获取路径,但每次产生一个字符串时都要替换掉该字符串。我只是简单地要求librairie使用'/'
作为目录分隔符,即使我有一些Macro告诉他在特定的OS上使用AltSeperator。
答案 0 :(得分:3)
不幸的是,这似乎是不可能的。
Path.DirectorySeparatorChar
和Path.AltDirectorySeparatorChar
取决于您的应用运行的操作系统,并且是只读的。
According to the docs DirectorySeparatorChar
在Windows上是\
,在其他任何地方都是/
,Path.AltDirectorySeparatorChar
(当前)始终是/
。
答案 1 :(得分:0)
一般技术:
import geopandas as gpd
gdf = gpd.read_file('cb_2017_us_nation_20m/cb_2017_us_nation_20m.shp')
AFFGEOID GEOID NAME geometry
0100000US US United States (POLYGON ((-136.563223 58.035052, -136.538708 ...
如果您的所有路径都来自真实系统,则此更简单的形式将起作用,但是如果任何路径均来自其他系统,则不会,因为您可能会被string MyPathCombine(string basename, string filename)
{
int idx = basename.Length;
if (idx == 0) return filename;
if (basename[idx - 1] == '/') --idx;
return filename;
}
IEnumerable<string> GetFilesSlash(string dirname)
=> Directory.GetFiles(dirname.Replace('/', Path.DirectorySeparatorCharacter)).Select((p) => MyPathCombine(dirname, Path.GetFileName(p));
字符所毒害。但这并不是唯一的危险。从这里开始颠簸。
\