在windows下,Tcl怎样读取反斜杠“\”?

bluefishi 2012-06-26 04:50:31
在windows下,Tcl怎样读取反斜杠“\”?
...全文
408 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
tunaG 2012-06-28
  • 打赏
  • 举报
回复
set list [split $line '\ ' ]
你试试这么写
bluefishi 2012-06-28
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

引用 10 楼 的回复:
引用 9 楼 的回复:

引用 8 楼 的回复:
引用 7 楼 的回复:
你想进行怎么样的操作,说详细些,包括你想让用户进行的操作


举例:有一个txt文件,内容是:D:\test\nilename\a.txt。我想用Tcl把这个路径读出来保存到另外一个文件中去。


set filename D:/a/b/c/a.txt
set in [o……
[/Quote]


set list [split $line \ ]
这行中的"\" 不能识别
bluefishi 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
你想进行怎么样的操作,说详细些,包括你想让用户进行的操作
[/Quote]

举例:有一个txt文件,内容是:D:\test\nilename\a.txt。我想用Tcl把这个路径读出来保存到另外一个文件中去。
wyj39388 2012-06-27
  • 打赏
  • 举报
回复
OK,就是这个style的问题,谢了啊,搞定
tunaG 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]
就是你输入了回车,但还是在一行中显示
[/Quote]
我没用过 boa,不大清楚啊
这是我的控件跟的参数,你看下吧,下班了。撤了!!!
self.resultCtrl = wx.TextCtrl(self,-1,'',(600,0),(300,400),
wx.NO_BORDER | wx.TE_MULTILINE |wx.TE_RICH2|wx.TE_READONLY)
wyj39388 2012-06-27
  • 打赏
  • 举报
回复
就是你输入了回车,但还是在一行中显示
wyj39388 2012-06-27
  • 打赏
  • 举报
回复
用的AppendText,但显示的时候就是不分行,只在一行中显示。我是用boa弄的,需要设置啥属性吗?
tunaG 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]
我这TextCtrl不能多行显示啊,只能单行显示,是有什么属性值要配置吗?
[/Quote]
只显示单行是什么意思?你往控件里写东西用的AppendText 还是SetValue
AppendText(text):在尾部添加文本
SetValue()改变控件中的全部文本
wyj39388 2012-06-27
  • 打赏
  • 举报
回复
我这TextCtrl不能多行显示啊,只能单行显示,是有什么属性值要配置吗?
tunaG 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
兄弟,我终于搞定实时显示的问题了。用subprocess异步调用执行脚本,然后开启一个异步线程实时读取数据显示。但现在还有个问题就是执行的过程中,比如执行300个脚本,每个脚本的结果我怎么取回啊,还有就是有啥比较好的控件能实时显示输出,我现在用的是styleTextCtrl这个控件,但我没找到如何让输出比较多的时候它能自动下拉,拉到最新的显示,你能指教下不?
[/Quote]
你这个是跑到这里来找我吗?我是先source下tcl脚本,然后调用的tcl脚本里的函数
tcl = Tkinter.Tcl()
tcl.eval('source test.tcl')
Display = tcl.eval('test')
Display 就是返回值啦,返回不同的值表示不同的意思
#test.tcl
proc test { } {
----测试过程---
return 1
}
我用TextCtrl显示的测试结果,输出比较多的时候它能自动下拉显示最新结果。
tunaG 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
引用 9 楼 的回复:

引用 8 楼 的回复:
引用 7 楼 的回复:
你想进行怎么样的操作,说详细些,包括你想让用户进行的操作


举例:有一个txt文件,内容是:D:\test\nilename\a.txt。我想用Tcl把这个路径读出来保存到另外一个文件中去。


set filename D:/a/b/c/a.txt
set in [open $filename r]……
[/Quote]
proc test2 { } {
set filename D:/a/b/c/a.txt
set in [open $filename r]
set filename1 D:/a/b/c/b.txt
set out [open $filename1 a]
while { [gets $in line] != -1 } {
set list [split $line \ ]
set path [lindex $list 1]
set tmp [split $path '.']
set type [lindex $tmp 1]
append type \ file \ \" $path \"
puts $type
puts $out $type
}
close $in
close $out
}

-dx D:\test\nilename\a.txt
-dx 与D:之间按空格处理的。
你试试吧,TCL我懂的也不太多。
wyj39388 2012-06-27
  • 打赏
  • 举报
回复
兄弟,我终于搞定实时显示的问题了。用subprocess异步调用执行脚本,然后开启一个异步线程实时读取数据显示。但现在还有个问题就是执行的过程中,比如执行300个脚本,每个脚本的结果我怎么取回啊,还有就是有啥比较好的控件能实时显示输出,我现在用的是styleTextCtrl这个控件,但我没找到如何让输出比较多的时候它能自动下拉,拉到最新的显示,你能指教下不?
tunaG 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
引用 9 楼 的回复:

引用 8 楼 的回复:
引用 7 楼 的回复:
你想进行怎么样的操作,说详细些,包括你想让用户进行的操作


举例:有一个txt文件,内容是:D:\test\nilename\a.txt。我想用Tcl把这个路径读出来保存到另外一个文件中去。


set filename D:/a/b/c/a.txt
set in [open $filename r]……
[/Quote]
我去,兄弟,你每次咋都有新需求呢。
bluefishi 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

引用 8 楼 的回复:
引用 7 楼 的回复:
你想进行怎么样的操作,说详细些,包括你想让用户进行的操作


举例:有一个txt文件,内容是:D:\test\nilename\a.txt。我想用Tcl把这个路径读出来保存到另外一个文件中去。


set filename D:/a/b/c/a.txt
set in [open $filename r]
set filena……
[/Quote]
你这是将整个文件的内容不作任何处理直接进行copy到另一个文件中去的,我想是先把文件内容一行一行的读取,然后再在每一行的前面和后面分别加上一定的标志保存到另外一个文件中去。当我在一行一行读取时,例如:
输入文件infile.txt内容:
-dx D:\test\nilename\a.txt
-dy D:\TE\TE\B.ini
要求输出文件outfile.txt内容:
txt file "D:\test\nilename\a.txt"
ini file "D:\TE\TE\B.ini"

我用如下方法实现,但是不行
set in [open $infile.txt r]
set out [open $outfile.txt w]
while {[get $in line]>=0} {
set com_id [lindex $line 0]
set com_c [lindex $line 1]
if {$com_id=="-dx"} {
puts $out "txt file \"$com_c\""
} else {
puts $out "ini file \"$com_c\""
}

}
close $in
close $out
tunaG 2012-06-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
引用 7 楼 的回复:
你想进行怎么样的操作,说详细些,包括你想让用户进行的操作


举例:有一个txt文件,内容是:D:\test\nilename\a.txt。我想用Tcl把这个路径读出来保存到另外一个文件中去。
[/Quote]

set filename D:/a/b/c/a.txt
set in [open $filename r]
set filename1 D:/a/b/c/b.txt
set out [open $filename1 a]
puts $out [read $in]
close $in
close $out
tunaG 2012-06-26
  • 打赏
  • 举报
回复


你想进行怎么样的操作,说详细些,包括你想让用户进行的操作
bluefishi 2012-06-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:
引用 1 楼 的回复:

Maybe as this:
\\

如果是路径的话,不能让用户去写成这样子的吧,例如: c:\\test\\file

你可以让 用户写成 F:\test\software 这种样式或F:/test/software,你自己再处理成可用路径

[/Quote]

怎么处理路径呢?
tunaG 2012-06-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用 1 楼 的回复:

Maybe as this:
\\

如果是路径的话,不能让用户去写成这样子的吧,例如: c:\\test\\file
[/Quote]

set path D:a/b/c
file mkdir $path

TCL这样就可以建立路径了。
tunaG 2012-06-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用 1 楼 的回复:

Maybe as this:
\\

如果是路径的话,不能让用户去写成这样子的吧,例如: c:\\test\\file
[/Quote]
你可以让 用户写成 F:\test\software 这种样式或F:/test/software,你自己再处理成可用路径
bluefishi 2012-06-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

Maybe as this:
\\
[/Quote]
如果是路径的话,不能让用户去写成这样子的吧,例如: c:\\test\\file
加载更多回复(2)

37,742

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧