我可以从 Tcl 中的文件句柄中找到文件名吗?

2024-01-21

如同我可以从 Perl 中的文件句柄中找到文件名吗? https://stackoverflow.com/questions/2813092/can-i-find-a-filename-from-a-filehandle-in-perl但在 Tcl 中。

无论如何,我计划缓存文件名-文件句柄关联,所以我纯粹出于好奇而问——特别是链接中提到的“操作系统魔法”。 Tcl里可以吗?

如果重要的话,我(被迫)在 SunOS 5.10 上使用 Tcl 8.0.5。


对于这么旧的 Tcl 版本,您确实没有那么多选择。最简单的是做一点包装open and close:

rename open _original_open
rename close _original_close

proc open {filename args} {
    global fileForChannel
    set channel [eval [list _original_open $filename] $args]
    set fileForChannel($channel) $filename
    return $channel
}
proc close {channel} {
    global fileForChannel
    catch {unset fileForChannel($channel)}
    _original_close $channel
}

然后,您可以获得开放通道的文件名$ch仅仅通过阅读$fileForChannel($ch).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以从 Tcl 中的文件句柄中找到文件名吗? 的相关文章

  • Python 3:如何更改GDAL中的图像数据?

    我有一个 GeoTIFF 图像 其中包含颜色表和带有 8 位表键的单个栅格带 并且使用 LZW 压缩 我加载该图像gdal Open https gdal org python osgeo gdal module html 我还有一个包含
  • PHP is_file 和服务器根相对路径

    请问如何使用 is file 和 folder file jpg 这样的路径 谢谢你 如果路径以 开头 则表示该路径是绝对路径 当路径是相对路径时 即不以 开头 则采用相对于 php 脚本的路径 如果您希望 folder file jpg
  • 确定执行脚本的路径

    我有一个名为foo R其中包括另一个脚本other R 位于同一目录中 usr bin env Rscript message Hello source other R 但我想要R找到那个other R无论当前工作目录是什么 换句话说 fo
  • 在Android上保存文件时避免因中断而丢失数据?

    我想知道其他人在 Android 上保存文件时使用什么策略来避免数据丢失 我有几个游戏应用程序 本质上 它们可能会在用户暂停 onPause 时保存游戏状态 保存游戏 这在 99 99 的情况下有效 但每隔一段时间我就会收到一个保存游戏的例
  • 自定义文件属性

    我需要遵循 在我的申请中 我有文件 需要随时签入和签出的文件 当我从应用程序中签出文档时 我需要将自定义属性添加到文件中 以便稍后在签入文档时可以识别它 我尝试使用以下代码使用 DSOFile 中的 OleDocumentPropertie
  • Mac 操作系统的 windows.h 替代品

    早上好 我正在使用 Codeblock c 程序进行编程 但是 我需要使用窗口 h and conio h MacBook 上没有这个头文件 拜托 你能帮我吗 不起作用的来源 void gotoxy int x int y COORD co
  • 是否可以防止出现文件对话框?为什么?

    假设我有输入 类型 文件 元素 我想拦截 onclick 事件并防止在不满足条件时出现文件对话框 是否可以 如果不是的话 为什么 Soufiane 的代码要求您的页面上有一个名为 jQuery 的 Javascript 库 如果您没有 您可
  • 在 Java 中打开现有文件并关闭它。

    是否可以在java中打开一个文件附加数据并关闭多次 例如 psuedocode class variable declaration FileWriter writer1 new FileWriter filename fn1 writer
  • ruby 中的 unshift + file.join

    unshift File join File dirname FILE vendor addressable 2 1 0 lib addressable uri 上面的代码是否访问具有以下路径的文件 vendor addressable 2
  • 当我只能处理文件或文件路径时如何处理 SAF?

    背景 在 Android Q 之前 如果我们想获取有关 APK 文件的信息 我们可以使用写外部存储 https developer android com reference android Manifest permission html
  • 如何在 Windows 7 中使用 Python 廉价地创建非常大的文件? [复制]

    这个问题在这里已经有答案了 可能的重复 在Windows系统上快速创建大文件 https stackoverflow com questions 982659 quickly create large file on a windows s
  • 如何在 Android '/data/data/pkg/files' 目录中创建文件层次结构?

    我尝试在 Android 的 data data pkg files 目录中创建 foo bar txt 这似乎是文档中的矛盾 要写入文件 请使用名称和路径调用 Context openFileOutput http developer a
  • TCL 脚本 - exec 将文本刷新到我的标准输出

    我怎样才能 冲洗 stdout of the exec命令到我的脚本stdout没有 等待 结果执行返回 例如在下面的脚本中我想要git clone输出立即出现在我的脚本上下文中 usr bin tclsh git outputs prog
  • 单击一次文件丢失

    将 Clickonce 与 VS 2010 和 NET Framework Client profile 3 5 一起使用 我有几个文件夹 其中包含运行时所需的应用程序级 XML 和 或文本文件 这些文件夹位于要使用它们的同一项目中 这些文
  • 从 Java 应用程序读取的文件是否会调用系统调用?

    我的理解是 请求文件系统路径 例如 aFile 的用户应用程序将调用文件系统并获取所请求文件的虚拟地址 然后应用程序将尝试以该地址作为参数 即作为 CPU 指令 进行读 写操作 执行读取命令时 内存管理单元会将该地址转换为物理地址 并查看页
  • 在 C# 中打开文本文件

    我正在编写一个 Windows 窗体应用程序 其中在程序运行时记录一些数据 并使用以下代码将其写入临时文件中 string path Path GetTempFileName byte text new UTF8Encoding true
  • PHP将数据写入文件中间而不重写文件的最佳方法是什么

    我正在 php 1GB 中处理大型文本文件 我正在使用 file get contents file txt NULL NULL 100000000 100 要从文件中间获取数据 但如果我想将文件中的数据更改为与原始数据不同的更改 我将不得
  • 对 os.listdir 文件进行排序 Python

    如果已下载数年的数据 这些数据存储在具有以下命名约定的文件中 year day dat 例如 名为 2014 1 dat 的文件包含 2014 年 1 月 1 日的数据 我需要按天排序读取这些数据文件 2014 1 dat 2014 2 d
  • 如何使用 PHP 查找目录中的前 5 个文件?

    如何使用 PHP 列出按字母顺序排序的目录中的前 5 个文件或目录 Using scandir array slice array filter scandir path to dir is file 0 5 The array filte
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht

随机推荐

  • 单击 LinkBut​​ton 上的动态文本框

    我通过单击 LinkBut ton 在页面中创建动态文本框 但是 之后 如果提交页面 我找不到动态创建的项目 因此无法将信息发送到数据库 protected void lbAddTag Click object sender EventAr
  • JQGrid 获取特定列的所有值,而不考虑分页

    我正在使用 json 从数据库中提取数据 如何获取特定列的所有值 我想获取 PrimarySkill 列的所有值 全套值 无论分页如何 var texts listTableSupply jqGrid getCol PrimarySkill
  • 如何从 C# 更改 PowerPoint 中 TextRange 的字体颜色?

    我使用 C 创建了一个 PowerPoint 演示文稿 PowerPoint Application powerpointApplication PowerPoint Presentation pptPresentation PowerPo
  • Junit 与 new Date()

    当我有以下方法时 junit 测试会是什么 Override public void saveLastSuccesfullLogin final User user gebruiker setLastLogin new Date store
  • 在网页上,如何为特定部分设置滚动条?

    在获得的背面这个问题 https stackoverflow com questions 21159136 on a web page how can i create a horizontal scroll instead of havi
  • 如何使用 javascript 显示 PNG 图像的动画图像? [ 如 Gmail ]

    First of all check out this image Gmail uses this image to display the animated emoticon How can we show such animation
  • 启动应用程序的第二个实例的小部件

    当我点击小部件时 我在从小部件启动应用程序时遇到问题 这是一些代码的剪辑 Create an Intent to launch activity Intent intent new Intent context Entry MainTabV
  • 如何在Python中使用正则表达式排除特定字符串?

    我想匹配如下字符串 45 meters 45 meters 45 45 但不是像这样的字符串 45 meters you 45 you 45 and you 在这两种情况下 问号都必须位于末尾 所以 本质上我想排除所有包含 you 这个词的
  • 如何在构造函数中初始化 Objective-C 结构体?

    我在 Objective C 上使用一个结构来存储一些数据 如下所示 interface Interface NSObject my Data struct Data unsafe unretained BOOL isInit unsafe
  • 真正的 CTE 递归?

    我今天下午刚刚发现了 CTE 在享受了 2 个小时之后 我意识到它们并没有像我们在任何其他语言中学到的那样执行常见的递归 我的意思是 我总是将递归视为树搜索 所以我原以为 CTE 会一路下降到它发现的第一片叶子 但没有 他的工作是分层进行的
  • Power Query 列名称作为参数

    亲爱的巫师们 我正在尝试创建一个可以使用输入的搜索功能 1 搜索表 2 该表中将运行搜索的列 3 在2指定的列中搜索的值 该函数如下所示 mTbl as table mColName as text mColValue as text gt
  • 如何在 RDBMS 中表示预定事件?

    我必须存储可以每周 每天或每月组织的预定活动 例如上课时间 例如 事件可以在每周一和周三或每月的第二个周四发生 有没有办法将这些信息存储在遵循 3NF 的 RDBMS 中 编辑 这不是家庭作业 我正在和一个朋友一起构建一些东西来启发我们自己
  • MVC 提交带有部分视图的表单

    抱歉 如果之前已经回答过这个问题 我找不到任何与我的问题相符的内容 我有一个视图 其中包含一个部分视图 并且在提交视图时 部分视图中的数据不会发送到控制器 我知道如果我使用编辑器模板 这应该可以工作 但我无法使用它 因为我需要来自部分内部主
  • 如何从列表中显示 ng-templates

    我有一个AppComponent其中包含一个列表ShapeComponents 我实现了一些扩展的组件ShapeComponent like LineComponent CircleComponent RectangleComponent
  • 序列化时仅使用@JsonIgnore,反序列化时不使用@JsonIgnore

    我有一个与服务器发送和接收的用户对象 当我发送用户对象时 我不想将哈希密码发送给客户端 所以 我添加了 JsonIgnore在密码属性上 但这也阻止了它被反序列化为密码 这使得当用户没有密码时很难注册用户 我怎样才能只得到 JsonIgno
  • urllib2 SSL3_CHECK_CERT_AND_ALGORITHM:dh 密钥太小

    尝试使用发送 SOAP 请求suds 我在用着Python 2 7 6 我不太熟悉安全性 我相信我的机器或服务器机器上的安全密钥太小 我不知道如何解决 我是否生成一些新密钥并创建自定义开启器 任何帮助 指导都会有帮助 堆栈跟踪 Traceb
  • TFS 尽管构建是绿色的,但并非所有测试都运行

    由于某种原因 我们大约四分之一的测试没有在 TFS 上运行 构建最终显示为绿色 但仅报告 3 4 表示所有测试均已通过 我猜问题出在一些经过测试的异步代码中 这些代码可能会导致测试运行程序崩溃或继续自行运行 在 VS 本地 所有测试都顺利通
  • 用 Cpp 或其他快速语言反转大型哈希表

    我正在寻找高效的 C 或其他快速 来反转一个巨大的哈希表 哈希键的数量约为200 000 000个 每个哈希键中可能的元素数量约为 100 000 个 我想知道 有效地 反转此类表的好方法是什么 这样现在元素就是键 键就是元素 现在 我将硬
  • Android - 获取对 SD 卡上任何文件路径具有写访问权限的 DocumentFile(已获得 SD 卡权限)

    在我的应用程序中 我使用以下意图获得 SD 卡写入权限 如果用户从系统文件资源管理器中选择 SD 卡文件夹 则我具有 SD 卡写入权限 Intent intent new Intent Intent ACTION OPEN DOCUMENT
  • 我可以从 Tcl 中的文件句柄中找到文件名吗?

    如同我可以从 Perl 中的文件句柄中找到文件名吗 https stackoverflow com questions 2813092 can i find a filename from a filehandle in perl但在 Tc