我有进口一些Python模块,如Python脚本bs4,json,os,requests,signal,sys,和time.有时我在PWD中注意到以下文件:
$ ls -la
-rw-rw-r-- 1 dotancohen dotancohen 12429677 Jun 26 11:37 bs4
-rw-rw-r-- 1 dotancohen dotancohen 12291853 Jun 26 11:36 json
-rwxrwxr-x 1 dotancohen dotancohen 1681 Jun 26 11:51 my-app.py
-rw-rw-r-- 1 dotancohen dotancohen 12291851 Jun 26 11:36 os
-rw-rw-r-- 1 dotancohen dotancohen 12291855 Jun 26 11:36 random
-rw-rw-r-- 1 dotancohen dotancohen 12291851 Jun 26 11:36 re
-rw-rw-r-- 1 dotancohen dotancohen 12429682 Jun 26 11:38 requests
-rw-rw-r-- 1 dotancohen dotancohen 7216 Jun 26 11:38 signal
-rw-rw-r-- 1 dotancohen dotancohen 12291852 Jun 26 11:36 sys
-rw-rw-r-- 1 dotancohen dotancohen 12429678 Jun 26 11:36 time
Run Code Online (Sandbox Code Playgroud)
但是,这些不是Python文件,而是似乎是Postscript文件.例如:
$ file sys
sys: PostScript document text conforming DSC level 3.0, Level 1
$ head sys
%!PS-Adobe-3.0
%%Creator: (ImageMagick)
%%Title: (sys)
%%CreationDate: (2013-06-26T11:36:13+03:00)
%%BoundingBox: -0 -0 1920 1053
%%HiResBoundingBox: 0 0 1920 1053
%%DocumentData: Clean7Bit
%%LanguageLevel: 1
%%Orientation: Portrait
%%PageOrder: Ascend
Run Code Online (Sandbox Code Playgroud)
我从未在此目录中运行与Postscript相关的任何内容.此外,即使我rm在一段时间之后它们似乎回来了,所以也可以定期创建它们.看到它们与在此目录中的Python脚本中导入的Python模块具有相同的名称,我怀疑它是相关的.可能是什么原因?
DMH*_*DMH 16
我会对此进行一次尝试...这看起来像我有时在没有指定Python解释器的情况下意外调用脚本时看到的东西,例如我说./foo.py代替python foo.py,或者#!在脚本的开头没有一行.当我这样做时,脚本在语法错误一段时间后失败,并且目录中填充了名为sys,os,time 等的文件- 正是我在脚本中导入的模块.这些新文件相当大(7MB).这样做head sys显示文件内容基本上是一样的你.我使用Linux(Ubuntu)而没有IDE用于我的Python开发,只是一个bash shell.
这是我认为正在发生的事情,至少在Linux上:如果你这样做,man import你会看到
import - 将任何可见窗口保存在X服务器上并将其作为图像文件输出.您可以捕获单个窗口,整个屏幕或屏幕的任何矩形部分.
[...]
导入程序是ImageMagick(1)工具套件的成员.使用它来捕获部分或全部X服务器屏幕并将图像保存到文件中.
所以我猜测shell将第一行Python import语句解释为/usr/bin/import命令,并使用"参数"(模块名称)作为要保存的图像文件的名称.因此PS/ImageMagick的东西位于文件的顶部.
再一次,我只是在偶尔空出并调用没有Python解释器的脚本时才看到这个.由于我不知道您的代码或使用条件,我无法保证这是您的确切问题,但我猜您正在做类似的事情(可能是在不知不觉中).我希望这会有所帮助,让你走上正轨.
编辑: 这是一个基本上再现您的问题的实验.码:
import sys
import random
import os
import time
import signal
def main():
sys.stdout.write('foo\n')
if (__name__ == "__main__"):
main()
Run Code Online (Sandbox Code Playgroud)
我没有Python调用它:
./foo.py
./foo.py: line 8: syntax error near unexpected token `('
./foo.py: line 8: `def main():'
Run Code Online (Sandbox Code Playgroud)
有新文件:
$ ls
total 25096
-rwxr-xr-x 1 doug doug 146 2013-06-27 10:31 foo.py
-rw-r--r-- 1 doug doug 7291759 2013-06-27 10:12 os
-rw-r--r-- 1 doug doug 7291763 2013-06-27 10:12 random
-rw-r--r-- 1 doug doug 1903418 2013-06-27 10:32 signal
-rw-r--r-- 1 doug doug 1903415 2013-06-27 10:32 sys
-rw-r--r-- 1 doug doug 7291761 2013-06-27 10:12 time
Run Code Online (Sandbox Code Playgroud)
看看它们的内容:
$ head sys
%!PS-Adobe-3.0
%%Creator: (ImageMagick)
%%Title: (sys)
%%CreationDate: (2013-06-27T10:32:20-05:00)
%%BoundingBox: 0 0 663 471
%%HiResBoundingBox: 0 0 663 471
%%DocumentData: Clean7Bit
%%LanguageLevel: 1
%%Orientation: Portrait
%%PageOrder: Ascend
Run Code Online (Sandbox Code Playgroud)
再一次,我希望这会有所启发,并有所帮助.
| 归档时间: |
|
| 查看次数: |
1301 次 |
| 最近记录: |