【问题标题】:File names have a `hidden' m character prepended文件名前面有一个“隐藏的”m 字符
【发布时间】:2013-04-09 09:49:16
【问题描述】:

我有一个简单的 python 脚本,它在中子星模式下生成一些数据。我用它来自动化文件名,所以我以后不会忘记输入。脚本成功将文件保存为

some_parameters.txt

但是当我在终端中列出文件时,我看到了

msome_parameters.txt

不带“m”的文件名仍然有效,尝试调用带m的文件返回

$ ls m*
No such file or directory

所以我认为“m”有一些特殊的含义,许多谷歌搜索都没有给出答案。虽然我可以放心地继续,但我想知道原因。这是我在 python 中创建文件的方法

# chi,epsI etc are all floats. Make a string for the file name
file_name = "chi_%s_epsI_%s_epsA_%s_omega0_%s_eta_%s.txt" % (chi,epsI,epsA,omega0,eta) 

# a.out is the compiled c file which outputs data
os.system("./a.out >  %s" % (file_name) )

任何建议都将不胜感激,通常我可以在 stackoverflow 中找到已经发布的答案,但这次我真的很困惑。

【问题讨论】:

    标签: python terminal os.system


    【解决方案1】:

    您的文件名称中有一些特殊字符,这会混淆终端输出。如果您执行ls -l 或(如果可能)使用图形文件管理器会发生什么 - 基本上,找到一种列出文件的不同方式,这样您就可以看到发生了什么。另一种可能性是执行ls > some_other_filename,然后使用十六进制编辑器查看文件。

    【讨论】:

    • 您好 Phillip,感谢您抽出宝贵时间查看此内容。从 Nautilus(图形文件管理器)我看到没有“m”的普通文件。从ls -l 我得到以下[Averaged_ODEs]$ ls -l total 36 -rw-rw-r-- 1 ga7g08 ga7g08 7664 Apr 9 16:25 maveraged_chi_30.0.txt 抱歉格式化我不能换行。文件名应该是averaged_chi_30.0.txt。
    • 亲爱的菲利普,很抱歉浪费了您的时间。考虑到您的评论后,我意识到我已经在终端中编辑了我的 bashrc 以将 .txt 文件着色为橙色。但是这样做不正确会导致此错误。非常抱歉,再次感谢您。
    猜你喜欢
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 2013-04-23
    • 1970-01-01
    相关资源
    最近更新 更多