从C#目录中删除转义序列

问题描述 投票:0回答:2

我已经将我的C#项目中的当前工作目录写入.txt文件,以便我的python脚本可以读取它,问题是.txt文件中的文本包含转义序列字符

错误消息:WindowsError:[错误123]文件名,目录名或卷标语法不正确:'C:\ Users \ chris \ Dropbox \ Shared Visual Studio Projects \ GitHub Projects \ GitHub Group Project Beta \ GroupProject \ GroupProject \ bin \ Debug \ Material Lists \ n'

C#编写文本文件的代码:

            if (DEBUGGING)
        {               
            StreamWriter sw = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//ScriptInformation.txt");
            sw.WriteLine(Directory.GetCurrentDirectory());
            sw.Close();
        }

Python脚本,尝试更改目录,以便删除某些文件:

import os
from sys import argv

script, filename = argv

myfile = open(filename)
newdir = myfile.readline()
os.chdir(newdir)
myfile.close()
print os.getcwd()

编辑:只需重新检查.txt文件,实际文本说:

C:\ Users \ chris \ Dropbox \ Shared Visual Studio Projects \ GitHub Projects \ GitHub Group Project Beta \ GroupProject \ GroupProject \ bin \ Debug \ Material Lists

c# python directory escaping
2个回答
1
投票

这是因为“\ n”。刚刚使用.rstrip()方法在我的python脚本中剪切它。固定它。


0
投票

TextWriter.WriteLine写了一个字符串后跟一个行终止符。请改用TextWriter.Write

使用File.WriteAllText更容易:

File.WriteAllText(txtPath, content);
© www.soinside.com 2019 - 2024. All rights reserved.