从C#目录中删除转义序列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从C#目录中删除转义序列相关的知识,希望对你有一定的参考价值。
我已经将我的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
答案
这是因为“ n”。刚刚使用.rstrip()
方法在我的python脚本中剪切它。固定它。
另一答案
TextWriter.WriteLine写了一个字符串后跟一个行终止符。请改用TextWriter.Write。
使用File.WriteAllText更容易:
File.WriteAllText(txtPath, content);
以上是关于从C#目录中删除转义序列的主要内容,如果未能解决你的问题,请参考以下文章